Сборка командной строки cocoapods не выполняется

Я только что добавил cocoapods в свой проект, но не могу снова запустить мою сборку script. Я использую эту команду для создания сборки:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=./build

Однако, когда я выполняю сборку, он выходит из строя с сообщением об ошибке ld: library not found for -lPods.

Если я создаю без набора SYMROOT, он отлично работает. Но я бы предпочел сохранить аргумент SYMROOT таким образом, чтобы я мог хранить логику архивации так же, как раньше.

До сих пор я пришел к выводу, что поскольку SYMROOT установлен, xcodebuild не может найти библиотеку Pods, которая была построена. Как я могу это исправить?

Edit:

Я исследовал структуру файла после сборки немного:

  • Если я не устанавливаю SYMROOT, в папке с файлами (Library/Developer/Xcode/DerivedData/MyProject-eegsyonkmltdqhggwyqytoqbwath/Build/Products/) есть файл libPods.a.
  • Если я установил SYMROOT, как описано выше, файл libPods.a отсутствует в. /build

Следовательно, кажется, что вывод сборки файлов pod неправильно установлен. Это проблема в xcodebuild, или есть способ, которым я могу обеспечить, чтобы файлы pod были созданы в этой папке?

На следующем рисунке показано сравнение выхода сборки в двух каталогах, чтобы сделать его более понятным: Comparison of build output

Ответ 1

Вместо использования xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=./build

Попробуйте использовать эту строку:

xcodebuild -workspace MyProject.xcworkspace -scheme MyScheme SYMROOT=$(PWD)/build

Надеюсь, это поможет вам.

Пояснения здесь.