以前的時(shí)候只知道做安卓開發(fā)的兄弟挺辛苦的,不但開發(fā)的時(shí)候要適配一堆的機(jī)型,好不容易開發(fā)完了還要打一堆不同的包給不同的市場(chǎng)。沒想到現(xiàn)在這些市場(chǎng)都開辟iOS市場(chǎng),于是需要打一堆的包給不同的市場(chǎng),面對(duì)暫時(shí)給的十二個(gè)渠道,批量打包迫在眉睫。于是也便有了這篇小結(jié)。
通過一翻搜索和學(xué)習(xí),打包這事兒就是讓xcrun來干,而xcodebuild只是xrun的一個(gè)軟鏈接,但是這一鏈卻有了不同的分工:
xcodebuild負(fù)責(zé)將工程源文件編譯成xxx.app
xcrun負(fù)責(zé)給xxx.app(簽名并)打包成xxx.ipa
先說我是咋干的。
第一步清理:
/usr/bin/xcodebuild -target targetName clean
第二步編譯:
/usr/bin/xcodebuild -target targetName
第三步打包:
/usr/bin/xcrun -sdk iphoneos PackageApplication -v path/To/xxx.app -o xxx.ipa
解釋一下
關(guān)于xcodebuild,xcodebuild -target target名 就完成了一次編譯工作,因?yàn)閤codebuild默認(rèn)的一個(gè)參數(shù)就是build,即完整的命令就是:xcodebuild -target target build。而打包前清理的話就是xcodebuild -target target clean了。為什么打包前要先清理呢?因?yàn)榍謇硪幌履鼙WC打的包肯定是干凈的而且打包過程不會(huì)出問題
關(guān)于xcrun,直接打包的參數(shù)就是 xcrun -sdk iphoneos PackageApplication -v 源app路徑 -o 輸出的ipa路徑
關(guān)于xcrun要更新的一個(gè)認(rèn)識(shí)就它的打包功能,查資料的時(shí)候發(fā)現(xiàn)好多牛人都是直接用xcodebuild編譯,然后自已手動(dòng)用zip將編譯好的app打包成ipa格式,表示不理解這些牛人們?yōu)槭裁匆M(fèi)力自已實(shí)現(xiàn)一遍。
注意事項(xiàng):以上兩個(gè)命令必需在xxx.xcodeproj所在的目錄執(zhí)行
高級(jí)用法:給應(yīng)用簽名。上面兩個(gè)命令都可以給應(yīng)用簽名的,格式分別是:
xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX"
xcrun -sdk iphoneos PackageApplication -v 源app路徑 -o 輸出的ipa路徑 --sign "iPhone Distribution:XXXXXX"
基本就這樣了,接下來批量工作,至于是用bash腳本還是apple script就看個(gè)人喜好了,我是不會(huì)告訴你我現(xiàn)在喜歡寫mac小程序的。
轉(zhuǎn)自 http://blog.cnrainbird.com/