Подтвердить что ты не робот

Ошибка: ld: библиотека не найдена для -lPods с CocoaPods

после того, как я установил DTCoreText (https://github.com/Cocoanetics/DTCoreText) с Cocoapods, я всегда получаю сообщение об ошибке при попытке запустить симулятор или устройство!

ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Release-iphoneos'
ld: warning: directory not found for option '-L/Users/example/Desktop/ios/Pods/build/Debug-iphoneos'
ld: library not found for -lPods-example
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

в моей "Link Binary With Libraries" часть "libPods" красная:

enter image description here

Вот мои настройки:

Настройки моего проекта:

enter image description here

Настройки моих подписок:

enter image description here

EDIT:

Я не совсем уверен, в чем была проблема, но я решил это, когда я удалил все материалы DTCoreText и Cocoapods и снова восстановил все!

4b9b3361

Ответ 1

Предложите попробовать следующее, что сработало для меня:

a) Поиск из "Библиотеки" в представлении "Параметры цели" и дважды щелкните, чтобы проверить значение Library Search Paths

b) Есть два значения, перечисленные $(inherited) и $(PROJECT_DIR)/Pods/build/Debug-iphoneos. Удалить последнее.

c) Полностью очистить, выполнить и запустить

d) Запустите pod install снова. Обратите внимание, что запись не восстановлена.

Ответ 2

Также это может помочь:

  • В вашем основном проекте (не Pods) выберите основную цель
  • Перейдите на вкладку "Фазы построения".
  • Перейдите в ссылку Binary с библиотеками.
  • Удалите библиотеку, которая вызывает проблему (она, вероятно, будет красного цвета)

Ответ 3

В моих связанных двоичных файлах у меня были как libPods.a, так и libPods-MyProj.a. Я ранее обновлял свой подфайл, чтобы иметь две отдельные цели (чтобы скомпилировать тесты в Swift с мостом), а это означало, что мне пришлось вручную удалить старую зависимость lidPods.a.

Ответ 4

Убедитесь, что вы открываете файл .xcworkspace, а не .xcodeproj

Ответ 5

Я обнаружил, что $(inherited) отсутствует в настройке сборки Другие компоновщики флагов. Применяя эту опцию, я обнаружил недостающую библиотечную проблему.

Ответ 6

Я обнаружил, что выбор "Найти неявные зависимости" (по схеме продукта/редактирования) разрешит эту проблему, вместо того, чтобы добавлять контейнеры в качестве цели.

Ответ 7

Ищите "путь поиска библиотеки" на странице целевых настроек сборки. измените имя папки Debug от Debug-iphoneos на Debug-iphonesimulator

Ответ 8

В этой проблеме так много причин.

Нам нужно проверить:

  • Настройка сборки $(inherited)
  • Обнаружение всех неявных зависимостей
  • .......

Устранение неполадок: http://guides.cocoapods.org/using/troubleshooting.html

Ответ 9

Удостоверьтесь, что библиотека недостающих модулей появилась на самом деле. Для этого откройте схему сборки

Product > Scheme > Edit Scheme... > Build

добавьте цель Pods и поместите ее перед объектом, который жаловался на библиотеку, отсутствующей (в моем случае это были тесты UI - я просто боролся с этим часами...)

Ответ 10

Для меня ошибка заключалась в том, что цель Pods не содержала требуемый фрагмент архитектуры для i386. Поэтому я нажал на проект Pods → Pods-ProjectName, а в настройках Build превратил Build Active Architecture Only в NO для Отладки и Release. Это гарантирует, что будут построены как фрагменты Simulator, так и Device. Симулятор использует архитектуру i386, а на реальных устройствах используется x86-64. Таким образом, вы должны убедиться, что все зависимые объекты для всех зависимых проектов строят оба, если вы хотите также запускать как симулятор, так и боковую загрузку на устройства.

Ответ 11

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