#ios #xcode #frameworks #arm64 #security.framework
#iOS #xcode #фреймворки #arm64 #security.framework
Вопрос:
Я пытаюсь скомпилировать приложение на устройстве iPhone 6 под управлением iOS 11.4.
Это приложение использует мой собственный фреймворк, скомпилированный для архитектур armv7 и arm64 (подтверждено lipo -info) и предназначенный для iOS8 .
В этой платформе я использую kSecImportExportPassphrase, SecPKCS12Import и kSecImportItemIdentity из Security.framework iOS.
При компиляции в Xcode 10.2 я получаю эту ошибку:
Если кто-нибудь получит представление о том, что происходит?
Похоже, Security.framework не скомпилирован для arm64, что совершенно невозможно.
С уважением.
Ответ №1:
Пара вещей, которые нужно попробовать:
- Установите для архитектур armv7 armv7s,
Build Active Architecture Only
значение NO, для каждой цели в проекте, включая каждую из модулей:
ARCHS = armv7 armv7s
VALID_ARCHS = armv6 armv7 armv7s arm64
- Очистите проект, выключите Xcode, затем найдите свое приложение в
~/Library/Developer/Xcode/DerivedData/
и переместите его в корзину, затем очистите его.
Комментарии:
1. Привет, Аллен, спасибо за твой ответ. Я попробовал ваши решения. Это все еще не работает, но на этот раз у меня такое же сообщение об ошибке, но для архитектуры armv7.
2. Поскольку Apple теперь требует поддержки 64-разрядной версии для всех развертываний, давайте попробуем что-нибудь еще. Избавьтесь от всего, кроме
arm64
inARCHS
иVALID_ARCHS
. И установитеBuild Active Architecture Only
значениеYES
.3. Та же проблема, что и раньше. Я установил значение
arm64
вARCHS
иVALID_ARCHS
и установилBuild Active Architecture Only
значениеYES
для моей платформы и моего приложения.4. У меня есть еще одна идея: проверьте местоположение фреймворка в разделе «Связанные фреймворки и библиотеки». Убедитесь, что оно указывает на SDK-версию фреймворка, а не где-либо еще.