Объявить архитектуру в Подфиле

Есть ли способ включить архитектуру в 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 бит.

Другие вопросы по тегам