2016-10-03 36 views
5

我正忙於構建將構建iOS應用程序的Jenkins版本。我已成功地用這個命令成功創建歸檔:XCodeBuild -exportArchive不會允許我指定文件名

xcodebuild archive -archivePath build/app.xcarchive 

現在我想的是歸檔出口與指定輸出文件名,但不能得到這個work.In下面的例子我想叫app.ipa一個輸出文件,但我得到的是一個文件夾,名爲app.ipa與名稱的.ipa內的IPA文件

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

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

蘋果的xcodebuild聯編文件說,你可以指定輸出路徑,包括文件名稱:

-exportPath目標路徑 指定導出產品的目的地,包括導出文件的名稱。

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

這樣做的原因是,我想保留構建通用的,所以,我通過它發送的任何項目將導致app.ipa沒有我需要跟蹤項目名稱和不同的輸出文件等

+0

什麼是'xcrun xcodebuild'。我以前從來沒有見過類似的東西。 – midori

+0

「xcrun提供了一種從命令行查找或調用開發人員工具的方法,無需用戶修改Makefile或採取不方便的措施來支持多個Xcode工具鏈。」 https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/xcrun.1.html – Craigt

+1

是的,以前沒有-exportOptionsPlist,同一個命令創建指定的文件,現在在8.3之後,它製作一個文件夾,並在.ipa文件夾內。除了使用mv以外是否有任何解決方法? – karim

回答

2

如果你做一個xcodebuild --help它說:

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

嗯。

要做一個解決方法,你可以在之後重命名你的文件。

mv "oldname" "newname" 
+0

嗨,如果不知道「老名字」是什麼,我會喜歡做到這一點。我想爲多個項目重新使用這個相同的構建腳本,並且不知道輸出文件名是什麼。 – Craigt

+0

蘋果是否擺脫了爲.ipa文件指定文件名的能力?看起來很奇怪,他們讓你指定它爲.xcarchive,但不是生成的.ipa。 – Bungles

3

ArchiveAction在.xcscheme文件標籤可以有屬性customArchiveName可以設置任何你喜歡。

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

當您通過-exportOptionsPlist導出歸檔這會給你app.ipa始終。

相關問題