Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Mary13  
#1 Оставлено : 18 ноября 2025 г. 14:03:01(UTC)
Mary13

Статус: Участник

Группы: Участники
Зарегистрирован: 26.04.2024(UTC)
Сообщений: 24
Российская Федерация

Сказал(а) «Спасибо»: 4 раз
Здравствуйте!
Мы используем библиотеку CPROCSP.framework в проекте iOS на Mac с Apple Silicon (M1).
При сборке проекта на симуляторе iOS сталкиваемся с проблемой:

Без изменений в архитектурах:
ld: building for 'iOS-simulator', but linking in object file (/.../librdrpcsc_empty.o) built for 'iOS'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

После добавления arm64 в Excluded Architectures для Any iOS Simulator SDK:
Undefined symbol: _CertGetCertificateChain
и т.д.

Описание ситуации:
На M1 симуляторе Xcode по умолчанию пытается собрать проект под arm64.
Добавление arm64 в Excluded Architectures переводит симулятор на x86_64, но при этом линкер не находит функции вроде _CertGetCertificateChain в CPROCSP.framework.
На реальном устройстве (arm64) проект собирается корректно.
В CPROCSP.framework есть папка ios-arm64_x86_64-simulator, однако Xcode не подхватывает корректный бинарь для симулятора на M1.
Мы пробовали запускать Xcode через Rosetta, чтобы симулятор стал x86_64, но текущие версии Xcode для macOS Sequoia (15.6.1) официально не поддерживают Rosetta.
ARM64 версии Xcode из App Store не имеют опции “Open using Rosetta”, поэтому на M1 симулятор через Rosetta запустить не получается.

Вопрос:
Как правильно подключить текущий фреймворк и сборку на M1 симуляторе?
Offline Mary13  
#2 Оставлено : 19 ноября 2025 г. 10:51:10(UTC)
Mary13

Статус: Участник

Группы: Участники
Зарегистрирован: 26.04.2024(UTC)
Сообщений: 24
Российская Федерация

Сказал(а) «Спасибо»: 4 раз
Также есть ошибка:

ld: warning: ignoring file 'Frameworks/CryptoPro/CPROCSP.framework/CPROCSP(libcsp_framework.o)': found architecture 'arm64', required architecture 'x86_64'

Вывод lipo -info Frameworks/CryptoPro/CPROCSP.framework/CPROCSP дает такой результат:

Non-fat file: CPROCSP is architecture: arm64

Что делать?
Offline Яковенко Иван  
#3 Оставлено : 20 ноября 2025 г. 15:13:13(UTC)
Яковенко Иван

Статус: Новичок

Группы: Участники
Зарегистрирован: 04.04.2022(UTC)
Сообщений: 7
Российская Федерация

Поблагодарили: 1 раз в 1 постах
Добрый день! Полноценная поддержка arm64 симулятора была добавлена начиная с сертифитированного релиза 5.0.13000 ( https://www.cryptopro.ru...spx?g=posts&m=147372 ). Просьба обновиться до минимум этой версии для использования arm64 симулятора. Распаковывать xcframework на составные части не требуется, для линковки в Xcode надо использовать именно его.
Скачать можете с нашего сайта https://cryptopro.ru/sit...csp/50/13000/ios-uni.tgz
Внутри архива лежат папки Resources и сам CPROCSP.xcframework. Там же вы можете найти примеры приложений.
Ваша изначальная ошибка была связана с использованием librdrpcsc_empty.o. Начиная с 5.0.13000 он был заменен на аналогичный rdrpcsc_empty.xcframework по тому же пути для поддержки arm64 симулятора.
Offline Mary13  
#4 Оставлено : 21 ноября 2025 г. 10:15:50(UTC)
Mary13

Статус: Участник

Группы: Участники
Зарегистрирован: 26.04.2024(UTC)
Сообщений: 24
Российская Федерация

Сказал(а) «Спасибо»: 4 раз
Автор: Яковенко Иван Перейти к цитате
Добрый день! Полноценная поддержка arm64 симулятора была добавлена начиная с сертифитированного релиза 5.0.13000 ( https://www.cryptopro.ru...spx?g=posts&m=147372 ). Просьба обновиться до минимум этой версии для использования arm64 симулятора. Распаковывать xcframework на составные части не требуется, для линковки в Xcode надо использовать именно его.
Скачать можете с нашего сайта https://cryptopro.ru/sit...csp/50/13000/ios-uni.tgz
Внутри архива лежат папки Resources и сам CPROCSP.xcframework. Там же вы можете найти примеры приложений.
Ваша изначальная ошибка была связана с использованием librdrpcsc_empty.o. Начиная с 5.0.13000 он был заменен на аналогичный rdrpcsc_empty.xcframework по тому же пути для поддержки arm64 симулятора.


Здравствуйте, у нас используется версия 5.0.13000.

Правильно ли я понимаю, что для билда на симуляторе мне нужно добавить arm64 в excluded arches для any iOS simulator как советовали здесь https://cryptopro.ru/for...aspx?g=posts&t=20868 и заменить файл librdrpcsc_empty.o на файл librdrpcsc_empty.a, который лежит по пути CPROCSP.xcframework/readers/rdrpcsc_empty.xcframework/ios-arm64_x86_64-simulator/librdrpcsc_empty.a? И все?

Есть ли инструкция по запуску на симуляторе к версии 5.0.13000?
Offline Яковенко Иван  
#5 Оставлено : 21 ноября 2025 г. 10:42:59(UTC)
Яковенко Иван

Статус: Новичок

Группы: Участники
Зарегистрирован: 04.04.2022(UTC)
Сообщений: 7
Российская Федерация

Поблагодарили: 1 раз в 1 постах
Автор: Mary13 Перейти к цитате
Автор: Яковенко Иван Перейти к цитате
Добрый день! Полноценная поддержка arm64 симулятора была добавлена начиная с сертифитированного релиза 5.0.13000 ( https://www.cryptopro.ru...spx?g=posts&m=147372 ). Просьба обновиться до минимум этой версии для использования arm64 симулятора. Распаковывать xcframework на составные части не требуется, для линковки в Xcode надо использовать именно его.
Скачать можете с нашего сайта https://cryptopro.ru/sit...csp/50/13000/ios-uni.tgz
Внутри архива лежат папки Resources и сам CPROCSP.xcframework. Там же вы можете найти примеры приложений.
Ваша изначальная ошибка была связана с использованием librdrpcsc_empty.o. Начиная с 5.0.13000 он был заменен на аналогичный rdrpcsc_empty.xcframework по тому же пути для поддержки arm64 симулятора.


Здравствуйте, у нас используется версия 5.0.13000.

Правильно ли я понимаю, что для билда на симуляторе мне нужно добавить arm64 в excluded arches для any iOS simulator как советовали здесь https://cryptopro.ru/for...aspx?g=posts&t=20868 и заменить файл librdrpcsc_empty.o на файл librdrpcsc_empty.a, который лежит по пути CPROCSP.xcframework/readers/rdrpcsc_empty.xcframework/ios-arm64_x86_64-simulator/librdrpcsc_empty.a? И все?

Есть ли инструкция по запуску на симуляторе к версии 5.0.13000?


Не так. В excluded arches ничего добавлять не нужно - в переводе с английского это «исключенные архитектуры». Вам исключать ничего не нужно. Файл librdrpcsc_empty.o надо заменить на rdrpcsc_empty.xcframework. Изнутри ничего доставать не нужно - это такой же цельный фреймворк.
Инструкцию по запуску на симуляторе не делали, так как она не отличается от запуска на устройстве
Offline Mary13  
#6 Оставлено : 21 ноября 2025 г. 10:59:47(UTC)
Mary13

Статус: Участник

Группы: Участники
Зарегистрирован: 26.04.2024(UTC)
Сообщений: 24
Российская Федерация

Сказал(а) «Спасибо»: 4 раз
Автор: Яковенко Иван Перейти к цитате
Автор: Mary13 Перейти к цитате
Автор: Яковенко Иван Перейти к цитате
Добрый день! Полноценная поддержка arm64 симулятора была добавлена начиная с сертифитированного релиза 5.0.13000 ( https://www.cryptopro.ru...spx?g=posts&m=147372 ). Просьба обновиться до минимум этой версии для использования arm64 симулятора. Распаковывать xcframework на составные части не требуется, для линковки в Xcode надо использовать именно его.
Скачать можете с нашего сайта https://cryptopro.ru/sit...csp/50/13000/ios-uni.tgz
Внутри архива лежат папки Resources и сам CPROCSP.xcframework. Там же вы можете найти примеры приложений.
Ваша изначальная ошибка была связана с использованием librdrpcsc_empty.o. Начиная с 5.0.13000 он был заменен на аналогичный rdrpcsc_empty.xcframework по тому же пути для поддержки arm64 симулятора.


Здравствуйте, у нас используется версия 5.0.13000.

Правильно ли я понимаю, что для билда на симуляторе мне нужно добавить arm64 в excluded arches для any iOS simulator как советовали здесь https://cryptopro.ru/for...aspx?g=posts&t=20868 и заменить файл librdrpcsc_empty.o на файл librdrpcsc_empty.a, который лежит по пути CPROCSP.xcframework/readers/rdrpcsc_empty.xcframework/ios-arm64_x86_64-simulator/librdrpcsc_empty.a? И все?

Есть ли инструкция по запуску на симуляторе к версии 5.0.13000?


Не так. В excluded arches ничего добавлять не нужно - в переводе с английского это «исключенные архитектуры». Вам исключать ничего не нужно. Файл librdrpcsc_empty.o надо заменить на rdrpcsc_empty.xcframework. Изнутри ничего доставать не нужно - это такой же цельный фреймворк.
Инструкцию по запуску на симуляторе не делали, так как она не отличается от запуска на устройстве


Файл rdrpcsc_empty.xcframework уже лежит по пути Frameworks/CryptoPro/CPROCSP.framework/readers/rdrpcsc_empty.xcframework

После того как удалила librdrpcsc_empty.o, получаю ошибку для стимуляторе:

Building for 'iOS-simulator', but linking in object file (../Frameworks/CryptoPro/CPROCSP.framework/CPROCSP[2](libcsp_framework.o)) built for 'iOS'

Для реального девайса:

Showing Recent Errors Only
Undefined symbol: _SCardBeginTransaction


Showing Recent Errors Only
Undefined symbol: _SCardConnect
Offline Mary13  
#7 Оставлено : 21 ноября 2025 г. 11:01:52(UTC)
Mary13

Статус: Участник

Группы: Участники
Зарегистрирован: 26.04.2024(UTC)
Сообщений: 24
Российская Федерация

Сказал(а) «Спасибо»: 4 раз
Полная ошибка для реального девайса:

Undefined symbols for architecture arm64:
"_SCardBeginTransaction", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardConnect", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardDisconnect", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardEndTransaction", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardEstablishContext", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardListReaders", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardReconnect", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardReleaseContext", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
...
"_SCardStatus", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_SCardTransmit", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_g_rgSCardT0Pci", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
"_g_rgSCardT1Pci", referenced from:
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
setSelectionColor(UITableViewCell*) in CPROCSP[2](libcsp_framework.o)
ld: symbol(s) not found for architecture arm64
Offline Mary13  
#8 Оставлено : 21 ноября 2025 г. 12:10:21(UTC)
Mary13

Статус: Участник

Группы: Участники
Зарегистрирован: 26.04.2024(UTC)
Сообщений: 24
Российская Федерация

Сказал(а) «Спасибо»: 4 раз
У меня получилось запустить проект на реальном устройстве, заменив librdrpcsc_empty.o на rdrpcsc_empty.xcframework. Но для симулятора все так же ошибка:

Building for 'iOS-simulator', but linking in object file (../Frameworks/CryptoPro/CPROCSP.framework/CPROCSP[2](libcsp_framework.o)) built for 'iOS'

Поможете?
Offline Яковенко Иван  
#9 Оставлено : 21 ноября 2025 г. 13:33:16(UTC)
Яковенко Иван

Статус: Новичок

Группы: Участники
Зарегистрирован: 04.04.2022(UTC)
Сообщений: 7
Российская Федерация

Поблагодарили: 1 раз в 1 постах
Автор: Mary13 Перейти к цитате
Автор: Яковенко Иван Перейти к цитате
Автор: Mary13 Перейти к цитате
Автор: Яковенко Иван Перейти к цитате
Добрый день! Полноценная поддержка arm64 симулятора была добавлена начиная с сертифитированного релиза 5.0.13000 ( https://www.cryptopro.ru...spx?g=posts&m=147372 ). Просьба обновиться до минимум этой версии для использования arm64 симулятора. Распаковывать xcframework на составные части не требуется, для линковки в Xcode надо использовать именно его.
Скачать можете с нашего сайта https://cryptopro.ru/sit...csp/50/13000/ios-uni.tgz
Внутри архива лежат папки Resources и сам CPROCSP.xcframework. Там же вы можете найти примеры приложений.
Ваша изначальная ошибка была связана с использованием librdrpcsc_empty.o. Начиная с 5.0.13000 он был заменен на аналогичный rdrpcsc_empty.xcframework по тому же пути для поддержки arm64 симулятора.


Здравствуйте, у нас используется версия 5.0.13000.

Правильно ли я понимаю, что для билда на симуляторе мне нужно добавить arm64 в excluded arches для any iOS simulator как советовали здесь https://cryptopro.ru/for...aspx?g=posts&t=20868 и заменить файл librdrpcsc_empty.o на файл librdrpcsc_empty.a, который лежит по пути CPROCSP.xcframework/readers/rdrpcsc_empty.xcframework/ios-arm64_x86_64-simulator/librdrpcsc_empty.a? И все?

Есть ли инструкция по запуску на симуляторе к версии 5.0.13000?


Не так. В excluded arches ничего добавлять не нужно - в переводе с английского это «исключенные архитектуры». Вам исключать ничего не нужно. Файл librdrpcsc_empty.o надо заменить на rdrpcsc_empty.xcframework. Изнутри ничего доставать не нужно - это такой же цельный фреймворк.
Инструкцию по запуску на симуляторе не делали, так как она не отличается от запуска на устройстве


Файл rdrpcsc_empty.xcframework уже лежит по пути Frameworks/CryptoPro/CPROCSP.framework/readers/rdrpcsc_empty.xcframework

После того как удалила librdrpcsc_empty.o, получаю ошибку для стимуляторе:

Building for 'iOS-simulator', but linking in object file (../Frameworks/CryptoPro/CPROCSP.framework/CPROCSP[2](libcsp_framework.o)) built for 'iOS'

Для реального девайса:

Showing Recent Errors Only
Undefined symbol: _SCardBeginTransaction


Showing Recent Errors Only
Undefined symbol: _SCardConnect


Вот эти пути выглядят странно:
Frameworks/CryptoPro/CPROCSP.framework/readers/rdrpcsc_empty.xcframework
../Frameworks/CryptoPro/CPROCSP.framework/CPROCSP

В 5.0.13000 нет таких путей. Проверьте, что вы не исправляли руками внутреннюю структуру фреймворков и не копировали файлы. Если не так, скачайте заново https://cryptopro.ru/sit...csp/50/13000/ios-uni.tgz

Вам требуется использовать только:
CPROCSP.xcframework
CPROCSP.xcframework/readers/rdrpcsc_empty.xcframework

Обратите внимание что никакие .framework не используются. Отличить xcframework от framework можно по цвету - xcframework синие:
use_cache_dir.png (268kb) загружен 1 раз(а).

Общая инструкция доступна по адресу https://docs.cryptopro.ru/ios/cprocsp_integration

Отредактировано пользователем 21 ноября 2025 г. 16:53:20(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.