2014-01-21 6 views
7

Я получаю сообщение об ошибке от контейнеров из какао, которые я никогда раньше не видел. У меня было очень много работы с несколькими зависимостями. Недавно я добавил TestFlightSDK как зависимость через контейнеры, и я не могу архивировать проект. Он отлично подходит для устройств, но отказывается от архива. Кто-нибудь еще испытал эту проблему?Cocoa Pods Ошибка ld: библиотека не найдена для -lPods

ld: library not found for -lPods 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Моя библиотека Пути поиска выглядит следующим образом (как для отладки и выпуска):

$(SRCROOT) recursive 
$(PODS_ROOT) recursive 
$(inherited) recursive 
+2

Я получил эту ошибку, когда я ошибочно открыл .xcodeproj не .xcworkspace с помощью Pod Targets. –

+0

У меня возникла эта ошибка, когда я добавил новую конфигурацию (т. Е. Что-то другое, кроме Debug/Release). Мне пришлось запустить 'pod install' для обновления файлов pod. – cloudrave

ответ

13

Ok, так что я нашел ответ (который работал для меня), используя некоторые предложения из этого post

На самом деле у меня было другое предупреждение, которого я не заметил.

Pods was rejected as an implicit dependency for 'libPods.a' because its 
architectures 'armv7 armv7s' didn't contain all required architectures 
'armv7 armv7s arm64' 

Фактически это связано с тем, что цель «Под» не имеет правильной архитектуры. В конце концов, это оказалось ошибкой xCode. В моей задаче Pods у меня были все правильные выбранные архитектуры: armv7, armv7s и arm64.

РЕШЕНИЕ:

  1. Обновление cocoapods до последней версии, которая поддерживает 64 арки.

    sudo gem update cocoapods 
    
  2. Удалить все Правильные Архитектуры и сделать проект чистого (который терпит неудачу много ..)

  3. Re-Добавьте архитектуры, которые вы только что удалили и вуаля!
+0

работал для меня :) – MartinMoizard

+0

рад, что это помогло! – anders

+1

lol, действительно @theLastNightTrain – anders

0

Другое решение - если вы обновите свои контейнеры новой целью, вы проверите libpods.a, возможно, был удален, а система не найдена. Убедитесь, что libpods находится в вашей Linked Framework и библиотеках в общей информации (где вы меняете версию, идентификатор пакета и сборку).

1

моя вина была старой интеграции какао-стручков. пришлось удалить файлы pod-.a в папке «/ Frameworks» и pod- .xcconfig в «/ Pods».

-> Выполнить 'стручок установить'

все прекрасное

+0

Вот и все! когда все остальное не работает, это заставляет его работать – jcesarmobile

0

В моем случае проблема была со Схемой.

  • перейти к продукту -> Схема -> Редактировать Схема
  • нажмите на Строить
  • добавить стручки статическую библиотеку, и убедитесь, что он находится в верхней части списка
  • чистой и строить снова
Смежные вопросы