Я новичок в разработке XCode Mac и IPhone. Поэтому, вероятно, я упускаю что-то очевидное здесь.
При попытке построить проект я получаю следующие предупреждения и ошибки. Я не могу понять, что здесь не так, я посмотрел на этот ответ и проверил мое значение Framework Search Path , а в BuildSettings его нет.
ld: warning: directory not found for option '-F/Users/macbook/Desktop/<app_name>__main/build/Release-iphoneos'
ld: warning: directory not found for option '-F/Users/macbook/Desktop/<app_name>__main/build/Debug-iphoneos'
ld: framework not found Pods_<app_name>
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Я уже несколько часов бьюсь головой и, наконец, сдался.
Путь, упомянутый в ошибке, не существует, и когда я заглянул в папку build
находится в проекте XCode, я понял, что они находятся в общем каталоге ~/Library/Developer/Xcode/DerivedData
. Поэтому я не понимаю, почему XCode ищет эти файлы в относительном пути проекта, где папка build
не существует.
Я использую
XCode 10.1
CocoasPod 1.5.3 1.8.4
MacOS High Sierra
Примечание. Это же рабочее пространство успешно создается в другой системе.
Edit:
Если я скопирую project.pbxproj
из другой системы в эту, проект на этом компьютере также будет успешно собран. project.pbxproj
находится в файле *.xcodeproj
.
Также, если я выберу Универсальное устройство iOS , проект будет работать нормально, но как только я переключаюсь на любое другое целевое устройство, я получаю то же самоеошибка.
Редактировать 2:
В левой части панели folder/directory
я вижу пару файлов каркаса красного цвета.
Foundation.framework
Pods_<application_name>.framework
Решение:
Итак, сейчас я нашел решение, которому я верюбыть обходным путем, а не реальным решением.
В структуре папок моего проекта я видел несколько .framework
файлов красного цвета. некоторые из них имеют различные расширения, чем те, которые присутствуют в пакете xCode. Поэтому я обновил их новыми файлами расширений, которые избавились от большинства красных файловых фреймворков и оставили только одну Pods_.framework ту же платформу в приведенной выше ошибке. Я удалил фреймворк из списка библиотек и фреймворков в разделе General
. После того, как я выполнил сборку проекта и смог запустить приложение.
Однако я заметил, что файл Pods_<app_name>.framework
всегда регенерируется после запуска pod install
. Поэтому мне приходится вручную удалять эту нежелательную зависимость из списка каждый раз при запуске нового рабочего пространства, что, мягко говоря, очень болезненно.
И теперь я ищу способ исправить это, чтобы я не сталнеобходимо каждый раз удалять файл Pods_<app_name>.framework
.
Пока я искал решение, я обнаружил закрытую ошибку cocoapods
, которая сообщала о той же проблеме для более старой версии. Я потерял ветку и не могу найти ее снова, иначе я бы связал ошибку.
Как отмечается в одном из комментариев к ответу, я теперь обновил версию cocoapods 1.8.4 .
Редактировать 3:
Подфайл
# Uncomment this line to define a global platform for your project
# platform :ios, '7.0'
# Uncomment this line if you're using Swift
use_frameworks!
target '<app_name>' do
pod 'Google-Mobile-Ads-SDK', '~> 7.39.0'
end