Xcode 3.2 bietet eine fantastische neue Funktion im Menü "Erstellen", "Erstellen und Archivieren", die eine IPA-Datei generiert, die für die Ad-hoc-Verteilung geeignet ist. Sie können den Organizer auch öffnen, zu "Archivierte Anwendungen" und "Anwendung an iTunesConnect senden" wechseln.
Gibt es eine Möglichkeit, "Erstellen und Archivieren" über die Befehlszeile (als Teil eines Erstellungsskripts) zu verwenden? Ich würde annehmen, dass xcodebuild
das irgendwie involviert wäre, aber die man
Seite scheint nichts darüber zu sagen.
UPDATE Michael Grinich bat um Klarstellung; Hier ist, was genau Sie mit Befehlszeilen-Builds nicht tun können. Funktionen, die Sie NUR mit Xcode's Organizer ausführen können, nachdem Sie "Build and Archive" erstellt haben.
- Sie können auf "Anwendung teilen ..." klicken, um Ihre IPA für Betatester freizugeben. Wie Guillaume weiter unten ausführt, erfordert diese IPA-Datei aufgrund von Xcode-Magie keine separat verteilte .mobileprovision-Datei, die Betatester installieren müssen. Das ist magisch. Kein Befehlszeilenskript kann dies tun. Zum Beispiel erfüllt das Skript von Arrix (eingereicht am 1. Mai) diese Anforderung nicht.
- Noch wichtiger ist, dass Sie nach dem Betatest eines Builds auf "Anwendung an iTunes Connect senden" klicken können, um diesen GENAUEN Build an Apple, die von Ihnen getestete Binärdatei, zu senden, ohne ihn neu zu erstellen. Dies ist über die Befehlszeile nicht möglich, da das Signieren der App Teil des Erstellungsprozesses ist. Sie können Bits für Ad-hoc-Betatests signieren ODER Sie können sie für die Übermittlung an den App Store signieren, jedoch nicht für beide. Kein auf der Befehlszeile basierendes IPA kann auf Telefonen Beta-getestet und dann direkt an Apple gesendet werden.
Ich würde mich freuen, wenn jemand mitkommt und mir das Gegenteil beweist: Beide Funktionen funktionieren hervorragend in der Xcode-Benutzeroberfläche und können nicht über die Befehlszeile repliziert werden.
xcodebuild
. Beim Erstellen einer IPA-Datei wird die App lediglich in ein Verzeichnis mit dem Namen "Payload" verschoben, dieses Verzeichnis komprimiert und in MyAppName.ipa umbenannt.