2013-09-18 5 views
27

При создании моего проекта в новом XCode5 я получаю следующее предупреждение: Pods-App был отклонен как неявная зависимость для 'libPods-App.a', потому что его архитектура i386 'didn' t содержит все требуемые архитектуры «x86_64».Ошибка интеграции с Cocoapods и XCode5

ответ

29

Чтобы исправить это, выберите стручков проект в меню слева, а затем под целями раздела выберите Pods- # YourAppName # цели и в настройках сборки нажмите на Архитектуре и пресс удаления, чтобы он идет к опции по умолчанию (Стандартные архитектуры (ARMv7, armv7s) Более подробную информацию можно найти в этом link

+2

Нет поддесок - # MyAppName на цели, а все остальные цели уже находятся на стандартных архитектурах. –

+0

Работал. Огромное спасибо. –

+1

Стандартные архитектуры не обязательно просто 32-битные (armv7, armv7s). Мой стандарт включал 64-бит (arm64). Я предполагаю, что один из моих модулей не должен быть совместим с 64-битными, поэтому использование стандартных арков не работает. Для моего ** Pods ** *** Project ***, я сделал свой 32-битный, выбрав «32-битный Intel (i386)» из ** Architectures **. Затем для каждой цели ** ** **, я сделал то же самое, что и вы, и установил их своды по умолчанию (теперь для меня это 32-битное из-за изменения арки для проекта pod). – ohnit

7

окр:..

  • CocoaPods v0.24.0
  • Xcode 5 из App Store

Добавьте следующую строку в конце вашего Podfile.

post_install do |installer| 
    installer.project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['ARCHS'] = "$(ARCHS_STANDARD_INCLUDING_64_BIT)" 
    end 
    end 
end 
10

Взгляните на сообщение в блоге here, он выполнит эту работу.

Для того, чтобы ваши приложения совместимы для iPhone 5s и старых моделей (до iPhone 3Gs под управлением iOS6), выберите следующий вариант для вашей архитектуры - «архитектуры - ARMv7, armv7s». Не выбирайте вариант, который гласит: «Стандартные архитектуры (включая 64 бит) ...». Поскольку наборы команд Arm совместимы обратно, любое приложение, скомпилированное для armv7s, также будет работать на iPhone 5 или iPhone 5c.

арок = ARMv7 armv7s

Для допустимых архитектур в настройках сборки, вы можете указать arm64, ARMv7, armv7s.

VALID_ARCHS = ARMv6 ARMv7 armv7s arm64

+0

Это именно он! – Franck

+4

Как правило, как правило, разумно добавить соответствующую информацию из ссылки на ответ, чтобы уменьшить вероятность того, что связь гнили заражает полезность ответов. –

18

Non других ответов работал для меня.

Что в конечном итоге решило это для меня, чтобы убедиться, что для Build Active Architecture Only установлено значение Да для отладки и нет для выпуска в файле xcodeproj моего приложения.

Кроме того, поскольку у меня есть собственные конфигурации, я должен был добавить следующее в Podfile:

xcodeproj 'MyApp.xcodeproj', 'MyDebugConfiguration' => :debug, 'MyReleaseConfiguration' => :release 
+3

«Что в конечном итоге решило для меня, так это убедиться, что для сборки Active Architecture Only установлено значение« Да для отладки »и« Нет для выпуска »в файле xcodeproj моего приложения». Это сделал трюк – fengd

+1

Спасибо, этот работал для меня. – zrxq

+0

СПАСИБО МНОГО: Работала без меня. В Build Active Architecture только ser Debug - YES и Relase - NO. –

0

Я только модернизировал один из моих проектов в Xcode 6 и сталкивался с этой проблемой. Чтобы исправить это, я изменил базовый SDK проекта Pods на реальный (ранее это было похоже на неизвестный SDK).

enter image description here

2

Перейти к проекту «стручки», набор «строить только активную архитектуру» на NO для отладки.

Над решением работает для меня.

0

У меня был такой же выпуск.Предупреждение показало, что библиотека pod не была включена, и в результате приложение не удалось завершить компиляцию. (Он жаловался на отсутствующий заголовочный файл, который был частью зависимостей Pod).

Если вы столкнулись с таким же вопросом компиляции, вы можете быть в состоянии решить его с помощью следующего:

  1. Выберите стручки проекта в рабочем пространстве
  2. Выберите Бобы проект для Бобы доступа проекта Установок
  3. Перейти построить Настройки
  4. Поиск для построй Активная Архитектура только "
  5. Набор«Нет»

Это, казалось, работало для меня, но YMMV.

Смежные вопросы