4 апреля 2011 г.

xcodebuild сборка приложения в консоли

Давно не писал в блог, времени катастрофически не хватало, впредь обещаю исправится.)

А для начала небольшой пост, о том, как можно сделать билд приложения в консоли.
Утилита xcodebuild из комплекта xCode SDK именно для этого. Хотя наверняка даже наоборот xcode IDE - графическая обертка над xcodebuild. Я

xcodebuild работает с проектом в текущей папке. Рассмотрим несколько основных параметров утилиты.
Запускается так:
$ xcodebuild [-project <projectname>] [-activetarget] [-alltargets] [-target<targetname>]... [-parallelizeTargets] [-activeconfiguration] [-configuration<configurationname>] [-sdk <sdkfullpath>|<sdkname>] [-xcconfig <filepath>][<buildsetting>=<value>]... [<buildaction>]...
из испольуемых мной параметров:

-target - задает имя таргета, который собирать в приложении
-configuration - задает конфигурацию, которую собирать
-sdk - и SDK который использовать при сборке
-list - показывает список таргетов и конфигураций для проектов в текущей папке
-showsdks - показывает доступные SDK

более детально можно узнать из мануалов:
$ man xcodebuild
В качестве "бонуса" приведу пример баш скрипта, который собирает приложение с конфигурацией "Distribution" и создает *.ipa файл. Подразумевается, что конфигурация "Distribution" настроена на подписку приложения сертификатом Ad-Hoc. Скрипт не проверяет ошибки вывода комманд, да и написался он быстрее чем этот пост:
#!/bin/sh
cd ~/work/my_project/trunk/my_project
rm -fr ./build
xcodebuild -target my_project -configuration Distribution -sdk iphoneos4.3
rm -fr ../tmp
mkdir ../tmp
mkdir ../tmp/Payload
cp -r ./build/Distribution-iphoneos/my_project.app ../tmp/Payload/
cp ./Resources/icon\@2x.png ../tmp/iTunesArtwork
cd ../tmp/
zip -r7 my_project.zip ./iTunesArtwork ./Payload
mv ./my_project.zip ../my_project.ipa
cd ..
rm -fr ./tmp

cp ./my_project.ipa ~/Desktop

Комментариев нет:

Отправить комментарий