Проект "Pods" был отклонен как неявная зависимость для "Pods.framework", потому что его архитектуры не содержали всех требуемых архитектур
Цель 'AAA-Pods' для проекта 'Pods' была отклонена как неявная зависимость для 'Pods_AAA.framework', потому что ее архитектуры 'x86_64' не содержали всех необходимых архитектур 'i386 x86_64'.
Это появляется как предупреждение, затем появляется ошибка компоновщика.
5 ответов
Возможное решение:
- Откройте проект Xcode (проект cocoapods), используя файл.xc....
- Выберите проект Pods в навигаторе проекта (синий значок слева).
- В Project, убедитесь, что Pods (синий значок) выбран.
- Перейдите к настройкам сборки.
- Установите Build Active Architectures Only = No (для отладки и выпуска).
- Необязательно: установите для базовой SDK последнюю версию iOS (или выберите предпочитаемую платформу / версию).
Примечание. Это решение решило эту проблему (предупреждение и ошибка компоновщика) для меня.
Предлагаемые ресурсы:
Проект Github: https://github.com/CocoaPods/CocoaPods/issues/2053 Запрос на извлечение Github: https://github.com/CocoaPods/CocoaPods/pull/1352
Для будущих пользователей Google: также убедитесь, что ваш подфайл нацелен на ту же версию iOS, на которую нацелен ваш проект:
Например, если вы ориентируетесь на iOS 10.0 в своем проекте Xcode, ваш подфайл должен включать platform :ios, '10.0'
наверху тоже.
В очень новом проекте на Xcode 9.4.1 проблема заключалась в том, что цель развертывания моего Podfile была установлена на platform :ios, '11.0'
в то время как цель развертывания iOS моего проекта была установлена на 10.3.
Это привело к тому, что сгенерированный проект Pods был нацелен на iOS 11.0 (поддерживается только 64-разрядными устройствами на архитектуре arm64), но, поскольку мой основной проект нацелен на 10.3 и включает в себя устройства armv7, это не работает при архивации сборки Release с момента выпуска Release build строит неактивные архитектуры по своей природе (если только вы не поддерживаете устройства iOS 11).
Исправление заключается в том, чтобы просто изменить цель развертывания Podfile, чтобы она соответствовала вашему основному проекту, в моем случае это platform :ios, '10.3'
, После запуска pod update
и проект стручков должен быть восстановлен. Запустите Xcode, выполните очистку, и вы сможете запустить процесс архивирования.
Я понимаю, что этот вопрос немного устарел, однако я потратил 2 дня на то же самое, сразу после обновления XCode до 9.4. То, что я нашел, было в info.plist
под ключ required device capabilities
armv7
был установлен, когда он должен был быть пустым. Надеюсь, это кому-нибудь поможет.
У меня была такая же проблема недавно после перехода на Xcode 10.1.
Сборка с конфигурацией Debug работала просто отлично, однако архивирование с конфигурацией выпуска генерировало это предупреждение. И тогда произойдет сбой архивирования, потому что в основном проекте все импорты модулей, относящиеся к модулю, терпят неудачу.
Проверка настроек сборки для проекта Я понял, что цель развертывания iOS показала другое значение для моей конфигурации выпуска.
iOS 10.0, в то время как мой Podfile был установлен на platform :ios, '11.0'
,
Другое решение, которое работает для меня.
- Откройте.xcodeproject (не.xcodeworkspace)
- Найти цель развертывания IOS
- Выберите последнюю версию, которая у вас есть (Моя последняя версия 11.4)