Проект "Pods" был отклонен как неявная зависимость для "Pods.framework", потому что его архитектуры не содержали всех требуемых архитектур

Цель 'AAA-Pods' для проекта 'Pods' была отклонена как неявная зависимость для 'Pods_AAA.framework', потому что ее архитектуры 'x86_64' не содержали всех необходимых архитектур 'i386 x86_64'.

Это появляется как предупреждение, затем появляется ошибка компоновщика.

5 ответов

Решение

Возможное решение:

  1. Откройте проект Xcode (проект cocoapods), используя файл.xc....
  2. Выберите проект Pods в навигаторе проекта (синий значок слева).
  3. В Project, убедитесь, что Pods (синий значок) выбран.
  4. Перейдите к настройкам сборки.
  5. Установите Build Active Architectures Only = No (для отладки и выпуска).
  6. Необязательно: установите для базовой 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 capabilitiesarmv7 был установлен, когда он должен был быть пустым. Надеюсь, это кому-нибудь поможет.

У меня была такая же проблема недавно после перехода на Xcode 10.1.

Сборка с конфигурацией Debug работала просто отлично, однако архивирование с конфигурацией выпуска генерировало это предупреждение. И тогда произойдет сбой архивирования, потому что в основном проекте все импорты модулей, относящиеся к модулю, терпят неудачу.

Проверка настроек сборки для проекта Я понял, что цель развертывания iOS показала другое значение для моей конфигурации выпуска. iOS 10.0, в то время как мой Podfile был установлен на platform :ios, '11.0',

Другое решение, которое работает для меня.

  1. Откройте.xcodeproject (не.xcodeworkspace)
  2. Найти цель развертывания IOS
  3. Выберите последнюю версию, которая у вас есть (Моя последняя версия 11.4)
Другие вопросы по тегам