Объявить архитектуру в Подфиле
Есть ли способ включить архитектуру в CocoaPods Podfile
? Я пытаюсь собрать свое приложение как для 32, так и для 64 бит, но когда я переключаюсь на Standard architectures (including 64-bit)
в настройках сборки моего проекта жалуется, что я должен позволить ему автоматически выбирать архитектуру. После этого мой проект возвращается к Standard architectures
, У меня есть ощущение, что Xcode делает это, потому что проект Pods (в моем Xcworkspace) не включает 64-битную архитектуру. Есть ли способ добавить это к Podfile
(Полагаю, лучше, если Pod сделает это сам), или я должен изменить это и в проекте Pods.
Мой текущий Podfile
:
xcodeproj 'Nobles/Nobles.xcodeproj'
platform :ios, '7.0'
pod 'Reachability'
pod 'TWTSideMenuViewController'
2 ответа
Я ищу ответы на похожую проблему и нашел это:
Устранение ошибки сборки CocoaPods из-за создания целей только для активной архитектуры
У меня всегда возникает ошибка сборки после установки модуля, потому что по умолчанию CocoaPods настраивает ваши модули для сборки только для активной архитектуры (во время отладки).
Решение состоит в том, чтобы изменить настройку проекта Pods для Build Active Architecture Only на NO для отладки.
Но это утомительно менять каждый раз после запуска pod install (так как ваши изменения вернутся к YES).
Как предложено msmollin в проблемах CocoaPods, вы можете исправить с помощью:
# Append to your Podfile post_install do |installer_representation| installer_representation.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO' end end end
Может быть, это может помочь вам?
CocoaPods не может делать то, что вы хотите. Он может дать вам разные версии библиотеки, но ничего не знает о том, как эта библиотека была построена.
Бежать xcrun -sdk iphoneos lipo -info libYourLibraryName.a
чтобы увидеть, для какой архитектуры он был построен.
Если это библиотека с открытым исходным кодом, вы можете создать ее самостоятельно, вместо того, чтобы просто ссылаться на файл.a. Если у вас нет доступа к источнику библиотеки, а файл.a не содержит 64-битный фрагмент, боюсь, вам не повезло. Свяжитесь с разработчиком и попросите их собрать библиотеку с поддержкой 64 бит.