Пакетная сборка и архив приложений iOS через терминал

Я пытаюсь упростить процесс отправки архива сборок для публикации приложений iOS. У нас более 50 мобильных приложений, которые имеют практически одинаковую структуру, но с разными графическими объектами и параметрами конфигурации.

Обычно я загружал бы каждый проект в xcode 4.2 и собирал -> архив -> отправлял обычным способом с графическим интерфейсом xcode, но сейчас у нас более 50 приложений, и этот процесс очень утомителен всякий раз, когда мы выпускаем обновление.

При этом я пытаюсь ускорить этот процесс с помощью функции оболочки. Я сделал много исследований и обнаружил, чтоxcodebuild (См. Ответ Рейда) должен работать, однако опция Архив не работает, поскольку я получаю следующую ошибку:

unsupported build action 'archive'

Поэтому я написал следующее:

# $1 should be a date like: 2012-07-17
# $2 should be a time like: 10.31AM
# $mybase will be the current directory at the time the function was called
# so make sure to cd into the folder containing the xcode project folders first

function xcodeArchive {
    mkdir ~/Library/Developer/Xcode/Archives/$1
    mybase=$PWD
    for x in `ls`
    do
        mkdir ~/Library/Developer/Xcode/Archives/$1/$x
        mkdir ~/Library/Developer/Xcode/Archives/$1/$x/dSYMs
        mkdir ~/Library/Developer/Xcode/Archives/$1/$x/Products
        mkdir ~/Library/Developer/Xcode/Archives/$1/$x/Products/Applications
        cd $mybase/$x
        xcodebuild
        #read -p "Press [Enter] to continue"
        cd $mybase/$x
        cp $x/$x-Info.plist ~/Library/Developer/Xcode/Archives/$1/$x/Info.plist
        cp -r build/Release-iphoneos/$x.app.dSYM ~/Library/Developer/Xcode/Archives/$1/$x/dSYMs/$x.app.dSYM
        cp -r build/Release-iphoneos/$x.app ~/Library/Developer/Xcode/Archives/$1/$x/Products/Applications/$x.app
        cd ~/Library/Developer/Xcode/Archives/$1/
        mv $x $x\ $1\ $2.xcarchive
        cd $mybase
    done
}
export -f xcodeArchive

Я помещаю это в свой файл .bash_profile, и все работает правильно, как я и ожидал, за исключением того, что я не копирую правильный & quot; Info.plist & quot; и я не могу понять, откуда его скопировать или как его сгенерировать. Так что теперь я застрял.

Xcode распознает архивы, но перечисляет их в разделе «Неизвестная схема». и & quot; Безымянный архив & quot; в органайзере.

Any help regarding now to get the correct Info.plist is greatly appreciated.

Я также приветствую рекомендации о том, как улучшить сценарий и / или более эффективный способ пакетной сборки + архивирования этих приложений iOS.

Note:

I am unable to upgrade beyond Xcode 4.2 as that requires (as I understand it) OS X 10.7+ which I am not able to obtain yet (company computer).

I am still very much a bash/shell novice, so I apologize for any ugly code/practice above.

Also, this is for official app submission, not for ad-hoc or anything like that.

В очередной раз благодарим за помощь.

Ответы на вопрос(2)

Ваш ответ на вопрос