Получение .ipa через xcodebuild

Xcode 6 позволяет вам экспортировать .ipa из архива для распространения adhoc сборок. Раньше требовалось иметь правильный provisioning profile и distribution certificate на вашем ПК. Начиная с Xcode 6 вам надо быть членом команды в Developer Program account и у вас должны быть права делать distribution build. Это означает, что вам надо быть team agent.

Сборка через  xcodebuild

Начинаем с очистки

xcodebuild clean -project $projectname.xcodeproj -configuration Release -alltargets

Далее скрипт собирает и архивирует приложение. Используем параметр -archivePath для указания пути архива.

xcodebuild archive -project $projectname.xcodeproj -scheme $schemename -archivePath $projectname.xcarchive

Наконец экспортируем архив в файл .ipa.

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile “Provisioning Profile Name”

Provisioning profile заключает в себе signing identity, но вы можеет указать его через параметр -exportSigningIdentity.

Подводные камни

Можно потратить много времени на указание корректного значения для параметра -exportProvisioningProfile. Я вначале думал, что это должно быть имя файла для provisioning profile. Я пробовал с и без расширения .mobileprovision, но не сработало. Я указывал относительный и абсолютный путь, но тщетно. Я даже пытался использовать UUID для provision profile вместо имени файла.

Оказалось, что надо использовать имя the provisioning profile так, как он называется в provisioning portal(account).

 

PS: краткий перевод статьи

Добавить комментарий