今天研究了一下Xcode一鍵打包上傳的shell實現,實現自動化。
實現自動化有以下好處:
提交測試版本ipa給測試人員
配置好測試描述文件,然后Product -> Archive編譯打包,選擇Organizer,導出ad hoc 的 ipa包。再上傳到Fir等第三方平臺上,然后通知測試同事進行測試。整個流程下來需要人工監守操作比較耗費時間。
提交ipa包到App Store已供審核
配置好正式的描述文件,然后同樣的方式打包導出app store 的 ipa包。通過Application Loader 等方式提交到App store等待蘋果處理二進制包,處理完后選擇構建版本,最后提交等待蘋果審核。
無論打測試包提供測試人員測試還是打正式包上傳到App strore,整個過程都是重復耗費人工的操作,需要人工等待,然后各種點擊選擇…我們可以通過編寫腳本語言來實現整個過程。
shell腳本下載:https://github.com/fenglingdeyi/archiveshell
在寫自動化腳本的時候我借鑒了作者@關耳佳的文章:這篇文章大家可以先看一下。
大家可以先看一下。
首先上傳到Fir平臺,需要先安裝fir-cli
安裝命令是:
gem install fir-cli
如果報錯,請參考文章:iOS開發進階 - 使用shell腳本自動打包上傳到fir.im上
準備工作做完后 將下載好的三個文件放到工程目錄里面。
在上傳到App Store的plist如下:
在上傳到fir和蒲公英平臺的plist如下:
上傳到App Store和上傳到fir和蒲公英平臺的plis的主要區別是描述證書的區別
上傳到App Store的描述證書是選擇:
上傳到fir和蒲公英平臺的描述配置的證書選擇如下:
在執行腳本的時候,中間出現了一些問題:
error: exportArchive: “HLCG.app” requires a provisioning profile with the Associated Domains and Push Notifications features.
Error
Domain=IDEProvisioningErrorDomain Code=9 “”HLCG.app” requires a
provisioning profile with the Associated Domains and Push Notifications
features.” UserInfo={NSLocalizedDescription=”HLCG.app” requires a
provisioning profile with the Associated Domains and Push Notifications
features., NSLocalizedRecoverySuggestion=Add a profile to the
“provisioningProfiles” dictionary in your Export Options property list.}
其實就是plist文件配置的問題。解決方法請參考:
http://www.sgfblog.com/archives/614#comments
修改一下shell腳本里面的配置:
然后執行腳本
cd 到項目目錄執行腳本:sh shell.sh
根據自己的需求選擇即可
如果開始選擇的1:app-store 會發布到app store
如果選擇2,則進入fir或者蒲公英平臺,在安裝包導出成功之后出現:
選擇1發布到fir平臺
成功后顯示:
選擇2上傳到蒲公英平臺,成功后顯示:
如果有什么問題,大家也可以參考文章:iOS一鍵搞定自動打包并發布到AppStore和Fir。
shell腳本下載:https://github.com/fenglingdeyi/archiveshell
鏈接:打包成功之后怎么給測試人員發送郵件腳本實現:
www.lxweimin.com/p/ba4b5ee40798