Batch-Erstellung und Archivierung von iOS-Apps über das Terminal

Ich versuche den Build-> Archive-> Submit-Prozess für die Veröffentlichung von iOS-Apps zu vereinfachen. Wir haben über 50 mobile Apps mit nahezu identischem Framework, jedoch mit unterschiedlichen Grafik- und Konfigurationseinstellungen.

Normalerweise würde ich jedes Projekt in xcode 4.2 laden und build-> archive-> auf die übliche Weise mit der xcode-GUI einreichen, aber wir haben jetzt über 50 Apps und dieser Vorgang ist jedes Mal sehr mühsam, wenn wir ein Update veröffentlichen.

Abgesehen davon versuche ich, diesen Prozess mit einer Shell-Funktion zu beschleunigen. Ich habe viel recherchiert und das herausgefundenxcodebuild (Siehe Reids Antwort) sollte funktionieren, die Archivierungsoption funktioniert jedoch nicht, da folgende Fehlermeldung angezeigt wird:

unsupported build action 'archive'

Also habe ich folgendes geschrieben:

# $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

Ich füge dies in mein .bash_profile ein und alles läuft wie erwartet korrekt, außer dass ich nicht die richtige "Info.plist" kopiere und nicht herausfinde, woher ich es kopieren soll oder wie ich es generieren soll. Jetzt stecke ich fest.

Xcode erkennt die Archive, listet sie jedoch im Organizer unter "Unbekanntes Schema" und "Unbenanntes Archiv" auf.

Jede Hilfe, um jetzt die richtige Info.plist zu bekommen, ist sehr dankbar.

Ich begrüße auch Empfehlungen zur Verbesserung des Skripts und / oder einer effizienteren Methode zum Batch-Erstellen und Archivieren dieser iOS-Apps.

Hinweis:

Ich kann kein Upgrade über Xcode 4.2 hinaus durchführen, da dies (soweit ich weiß) OS X 10.7+ erfordert, das ich noch nicht erhalten kann (Firmencomputer).

Ich bin immer noch ein Anfänger in Sachen Bash / Shell, also entschuldige ich mich für jeden hässlichen Code / jede hässliche Übung oben.

Dies gilt auch für die offizielle App-Einreichung, nicht für Ad-hoc-Anwendungen oder ähnliches.

Danke nochmal für deine Hilfe.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage