Ошибка: 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 и снова восстановил все!
Ответы
Ответ 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
Когда вы используете расширение приложения, перейдите к целевому объекту расширения и отфильтруйте путь к библиотечному пути, удалите путь к сообщению о компиляторе.