關(guān)于自動打包的研究,最近翻閱了各方大佬的博文救拉,根據(jù)各方大佬的經(jīng)驗,分享下我自己的體會和記錄瘫拣,關(guān)于自動打包我分為三篇文章亿絮。
第一篇介紹我嘗試的幾種方案,優(yōu)缺點分析麸拄,以及比較省事的一種打包(附帶參考鏈接和問題解答)派昧。
第二篇介紹xcodebuild,分為兩種打包方式:命令行打包 和 腳本打包感帅,
第三篇介紹比較火的fastlane基礎(chǔ)知識和簡單使用斗锭,打包方式也分為:命令行打包 和 腳本打包。
iOS-自動打包及分發(fā)(一)
iOS-自動打包及分發(fā)(二)
iOS-自動打包及分發(fā)(三)
下面進(jìn)入正文:
一失球、為什么要自動打包岖是?
1.1 簡化iOS項目打包過程操作帮毁。
1.2 簡化.ipa包上傳分發(fā)平臺過程步驟。
1.3 節(jié)省iOS項目打包所需時間豺撑。
1.4 節(jié)省ipa包上傳分發(fā)測試平臺所需時間烈疚。
1.5 提高iOS開發(fā)人員的效率。
二聪轿、幾種打包方案分析
2.1 xcode默認(rèn)打包
自動略過爷肝,參考上面
2.2 xcodebuild命令行打包
官方,命令簡潔明了陆错,功能單一灯抛。
2.3 fastlane命令行打包
第三方工具集,擴展功能豐富音瓷。
2.4 xcodebuild腳本命令打包
在腳本中編輯好xcodebuild命令对嚼,終端一行代碼即可完成自動打包及分發(fā)。
2.5 fastlane腳本打包
在腳本中編輯好fastlane命令绳慎,終端一行代碼即可完成自動打包及分發(fā)纵竖。
命令行打包優(yōu)勢:模塊層次清晰,打包步驟一目了然杏愤。
腳本打包有一個顯著的優(yōu)勢靡砌,通俗易懂、注釋全面珊楼,一行代碼即可完成打包過程(切換打包類型只需要修改配置好的個別參數(shù))通殃。
經(jīng)過上面,已經(jīng)很明顯了亥曹,fastlane腳本打包是功能最為強大的邓了。xcodebuild腳本測試時最實用。
相對比傳統(tǒng)打包媳瞪,當(dāng)archive編譯開始后,就需要一步步點擊執(zhí)行下一步照宝、一些無腦的操作還必須要去做蛇受。如果同時需要幾個測試包的時候,就浪費了成倍的時間厕鹃。但是如果配置好簽名文件和自動打包腳本后兢仰,那么一行代碼就行了,接下來的時間去抽根煙剂碴、喝杯咖啡等等都隨意你的安排把将。
附帶一位大能寫好的Demo。有興趣的可以看看后面的兩個文章忆矛。
高屋建瓴察蹲,我三篇文章中或多或少的借鑒了下面大能的文章请垛,根據(jù)他們的文章琢磨出自己適用和喜歡的,下面提供一些文章地址和問題解答洽议,喜歡研究和測試的可以參考:
iOS-fastlane腳本
fastlane使用說明書
fastlane與持續(xù)集成
[iOS-Release] 自動打包分發(fā)
iOS自動化打包發(fā)布(fastlane)
iOS中使用Fastlane實現(xiàn)自動化打包和發(fā)布
Fastlane的黑魔法:一鍵打包編譯上傳 AppStore
iOS App自動化打包發(fā)布(Jenkins + Fastlane)
當(dāng)Fastlane遇到Xcode9打包出來不一定是ipa而是坑
Fastlane- app自動編譯宗收、打包多個版本、上傳到app store
xcodebuild 自動打包及分發(fā)
xcodebuild自動打包腳本與自動上傳蒲公英腳本
使用腳本工具Xcodebuild打包項目和導(dǎo)出ipa 2016.12.18
iOS自動打包并發(fā)布到Fir.im
編寫shell命令實現(xiàn)IOS的自動打包
補充優(yōu)質(zhì)博文:
關(guān)于iOS自動化打包的一些分享
關(guān)于調(diào)試遇到的問題:
1亚兄、packageApplication錯誤
xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
解決:Xcode8.3以后少了PackageApplication混稽。需要先下載PackageApplication放在下面路徑下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
然后執(zhí)行命令
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
chmod +x /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
2、ad_hoc_options.plist 文件設(shè)置
在Xcode9.0以后要設(shè)置provisioningProfiles审胚,增加Build ID (key)對應(yīng) 證書設(shè)置里面 Provisioning Profiles 的打包名字.
打包有四種:app-store, ad-hoc, enterprise, development匈勋。
3、Xcode升級后打包提示插件失效問題
解決:https://www.cnblogs.com/HMJ-29/p/5881536.html
4膳叨、查看Xcode UUID的方法
(defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID)
(慚愧啊颓影,近期一直有事情,自己的筆記本又壞了懒鉴,所以更新會有點遲诡挂,但是更新的時候盡可能保證質(zhì)量,諸多抱歉A倨住A住!)