以前的時候只知道做安卓開發(fā)的兄弟挺辛苦的退个,不但開發(fā)的時候要適配一堆的機型赠法,好不容易開發(fā)完了還要打一堆不同的包給不同的市場勋功。沒想到現(xiàn)在這些市場都開辟iOS市場递鹉,于是需要打一堆的包給不同的市場,面對暫時給的十二個渠道郎哭,批量打包迫在眉睫他匪。于是也便有了這篇小結(jié)。
通過一翻搜索和學(xué)習(xí)夸研,打包這事兒就是讓xcrun來干邦蜜,而xcodebuild只是xrun的一個軟鏈接,但是這一鏈卻有了不同的分工:
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名 就完成了一次編譯工作,因為xcodebuild默認(rèn)的一個參數(shù)就是build姐扮,即完整的命令就是:xcodebuild -target target build絮供。而打包前清理的話就是xcodebuild -target target clean了。為什么打包前要先清理呢茶敏?因為清理一下能保證打的包肯定是干凈的而且打包過程不會出問題
關(guān)于xcrun壤靶,直接打包的參數(shù)就是 xcrun -sdk iphoneos PackageApplication -v 源app路徑 -o 輸出的ipa路徑
關(guān)于xcrun要更新的一個認(rèn)識就它的打包功能,查資料的時候發(fā)現(xiàn)好多牛人都是直接用xcodebuild編譯惊搏,然后自已手動用zip將編譯好的app打包成ipa格式贮乳,表示不理解這些牛人們?yōu)槭裁匆M力自已實現(xiàn)一遍忧换。
注意事項:以上兩個命令必需在xxx.xcodeproj所在的目錄執(zhí)行
高級用法:給應(yīng)用簽名。上面兩個命令都可以給應(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就看個人喜好了亲铡,我是不會告訴你我現(xiàn)在喜歡寫mac小程序的。
轉(zhuǎn)自 http://blog.cnrainbird.com/