Я только что добавил cocoapods в свой проект, но не могу заставить скрипт сборки работать снова. Я использую эту команду, чтобы сделать сборку:Ошибка сборки командной строки cocoapods
xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=./build
Однако, когда я выполняю сборку, он терпит неудачу с сообщением об ошибке ld: library not found for -lPods
.
Если я создаю без набора SYMROOT, он отлично работает. Но я бы предпочел сохранить аргумент SYMROOT таким образом, чтобы я мог хранить логику архивации так же, как и раньше.
До сих пор я пришел к выводу, что поскольку SYMROOT установлен, xcodebuild не может найти библиотеку Pods, которая была построена. Как я могу это исправить?
Edit:
Я исследовал структуру файла после сборки немного:
- Если я не установлю SYMROOT, существует libPods.a файл в папку с двоичными файлами (
Library/Developer/Xcode/DerivedData/MyProject-eegsyonkmltdqhggwyqytoqbwath/Build/Products/
). - Если я устанавливаю SYMROOT, как описано выше, файл libPods.a нет в ./build
Таким образом, представляется, что выход сборки из стручка файлов не установлены должным образом. Это проблема в xcodebuild, или есть способ, которым я могу обеспечить, чтобы файлы pod были созданы для этой папки?
На следующем рисунке показано сравнение результатов сборки в двух каталогах, чтобы сделать его более ясным:
Вы строите с ONLY_ACTIVE_ARCHS = НЕТ? xcodebuild не устанавливает это по умолчанию – MishieMoo
Да, ONLY_ACTIVE_ARCHS в файле проекта установлено значение NO. Также см. Мое редактирование на вопрос выше. – JRV