2016-10-03 1 views
5

Ich bin beschäftigt, an einem Jenkins-Build zu arbeiten, der iOS-Anwendungen erstellen wird. Ich habe es geschafft, ein Archiv erfolgreich mit diesem Befehl zu erstellen:XCodeBuild -exportArchive erlaubt mir nicht, Dateiname anzugeben

xcodebuild archive -archivePath build/app.xcarchive 

Jetzt versuche ich, dieses Archiv mit Angabe der Ausgabedateinamen, zu exportieren, aber nicht bekommen kann dies das Beispiel unten an work.In ich möchte eine Ausgabedatei app.ipa genannt, aber alles, was ich bekommen, ist ein Ordner mit dem Namen app.ipa mit einer ipa-Datei im Namen .ipa

xcrun xcodebuild -exportArchive -exportPath build/app.ipa -archivePath build/app.xcarchive/ -exportOptionsPlist exportOptions.plist 

Outputs a file /build/app.ipa/<projectname>.ipa 

Apples Dokumentation für xcodebuild sagt, dass Sie den Ausgabepfad einschließlich Datei angeben Name:

-exportPfad Zielpfad Gibt das Ziel für das exportierte Produkt an, einschließlich des Namens der exportierten Datei.

https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/xcodebuild.1.html

Der Grund dafür ist, dass ich die Build-generic behalten möchten, so dass jedes Projekt, das ich durch sie senden in einem app.ipa führen wird, ohne mich um den Überblick über Projektnamen zu halten und verschiedene Ausgabedateien usw.

+0

Was ist 'xcrun xcodebuild'. So etwas habe ich noch nie gesehen. – midori

+0

"xcrun bietet die Möglichkeit, Entwicklerwerkzeuge über die Befehlszeile zu suchen oder aufzurufen, ohne dass die Benutzer Makefiles ändern oder andere Maßnahmen ergreifen müssen, um mehrere Xcode-Werkzeugketten zu unterstützen." https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/xcrun.1.html – Craigt

+1

Ja, früher ohne -exportOptionsPlist, der gleiche Befehl erstellt die angegebene Datei, jetzt nach 8.3 , es macht einen Ordner und in diesem Ordner ist die .ipa. Gibt es eine Umgehungsmöglichkeit, außer mit mv? – karim

Antwort

2

Wenn Sie eine xcodebuild --help tun, sagt es:

-exportPath PATH specifies the destination for the product exported from an archive 

hmmm.

Um eine Problemumgehung zu machen, können Sie Ihre Datei anschließend umbenennen. Diese

mv "oldname" "newname" 
+0

Hi, das hätte ich gerne gemacht, ohne zu wissen, was der "alte Name" ist. Ich möchte das gleiche Build-Skript für mehrere Projekte verwenden und weiß nicht, wie der Name der Ausgabedatei lautet. – Craigt

+0

Also hat Apple die Möglichkeit, einen Dateinamen für die .ipa-Datei anzugeben, loswerden? Scheint merkwürdig, dass Sie es für das .xcarchive angeben, aber nicht für die resultierende .ipa. – Bungles

3

ArchiveAction Tag in .xcscheme Datei haben kann Attribut customArchiveName, die auf alles eingestellt werden können, die Sie mögen.

<ArchiveAction 
     buildConfiguration = "AdHoc_Example" 
     customArchiveName = "app" 
     revealArchiveInOrganizer = "YES"> 
    </ArchiveAction> 
</Scheme> 

Dies wird Ihnen app.ipa immer geben, wenn Sie das Archiv durch -exportOptionsPlist exportieren.

Verwandte Themen