Как заархивировать сборку iOS с помощью xcodebuild?

Я пытаюсь создать скрипт, который собирает и архивирует мой проект iOS. Моя цель - создать скрипт, который создает AdHoc и Distribution ipas.

Я пытался что-то вроде этого:

xcodebuild -scheme MyApp -configuration AdHoc archive

Это работает, когда я выполняю эту команду в терминале. Но когда я помещаю его в файл сценария оболочки, а затем запускаю его из терминала:

sudo sh /Users/user/somepath/buildscript.sh

Я получаю следующую ошибку:

Provisioning profile 'XXX-XXX-XXX-XXX-XXX' can't be found

Как вы думаете?

1 ответ

Решение

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

Вам не нужно использовать sudo тем не мение. Какая часть вашего процесса сборки требует прав суперпользователя? Если вы хотите каким-то образом изолировать эту команду, создайте нового пользователя специально для сборки, но установите соответствующий сертификат в цепочке для ключей пользователя и перетащите профиль обеспечения в Xcode, войдя в систему как этот пользователь.

Другие вопросы по тегам