iOS- 一鍵自動打包釋出到Fir和AppStore
特別說明:如果專案沒有采用Cocoapods管理,沒有.xcworkspace,只有xcodeproj;只需要將指令碼中這句
xcodebuild \
archive -workspace ${project_path}/${project_name}.xcworkspace \
這句替換成下面這樣就ok了
xcodebuild \
archive -project ${project_path}/${project_name}.xcodeproj \
日常編譯打包工作主要是以下兩個目的:
- 提交測試版本ipa給測試人員
配置好測試描述檔案,然後Product -> Archive
Organizer
,匯出ad hoc 的 ipa
包。再上傳到Fir等第三方平臺上,然後通知測試同事進行測試。整個流程下來需要人工監守操作比較耗費時間。 - 提交ipa包到App Store已供稽核
配置好正式的描述檔案,然後同樣的方式打包匯出app store 的 ipa
包。通過Application Loader 等方式
提交到App store等待蘋果處理二進位制包,處理完後選擇構建版本,最後提交等待蘋果稽核。
無論打測試包提供測試人員測試還是打正式包上傳到App strore,整個過程都是重複耗費人工的操作,需要人工等待,然後各種點選選擇...我們可以通過編寫指令碼語言來實現整個過程。
配置自動打包釋出的流程
通過下面幾步的設定好之後,以後再進行打包釋出到第三方平臺或者App Store 只需要一步就能搞定了(一個回車搞定)
筆者通過shell指令碼
實現從archive->生成ipa->上傳到第三方平臺(Fir.im 、蒲公英)或 App store
。通過下面幾步即可實現自動打包上傳功能。
- 下載Shell指令碼
- 將archiveScript中的幾檔案拖入工程的根目錄
- 根據自己需求選擇好描述檔案
- 根據自己的專案修改一下shell.sh (修改哪裡下面會指出)
- cd到工程根目錄,通過./shell.sh 執行指令碼即可
下面通過例項詳細演示整個過程
第一種:打包上傳到第三方平臺Fir (上傳蒲公英原理一樣)
第二種:打包上傳到App store
將通過這幾步來講解整個過程
- 準備工作
- 準備工作做完後,正式開啟自動化之路
- 自動化指令碼執行過程中可能遇到的錯誤
準備工作
-
因為要上傳到Fir平臺,需要先安裝fir-cli
命令:gem install fir-cli
-
如果沒有安裝過rvm,需要安裝rvm,在終端輸入
rvm -v
命令檢視,如果打印出rvm:command not found
說明沒有安裝過rvm,如果能打印出rvm版本等資訊說明安裝過。如果沒有安裝過rvm可以通過下面的命安裝,如果已經安裝過可以忽略。- 在終端輸入
curl -L get.rvm.io | bash -s stable
,然後稍等一會rvm就安裝好了 - 在終端輸入
source ~/.bashrc
- 在終端輸入
source ~/.bash_profile
- 再輸入
rvm -v
檢視安裝成功
- 在終端輸入
準備工作做完後,正式開啟自動化之路
一、將archiveScript中的3個檔案拖入工程的根目錄
二、修改一下shell.sh 檔案
Product ->Scheme -> Edit Scheme 檢視自己的scheme_name
獲取Fir平臺的token
三、 cd到工程根目錄,./shell.sh 回車就會執行指令碼
四、 根據自己的需求選擇即可
如果開始選擇的1:app-store 會發布到app store
如果開始選擇的2:ad-hoc 釋出到fir平臺
如果遇到下面的錯誤
解決方法:在終端 輸入rvm system
後重新執行sehll指令碼就可以了
如果前面已經安裝過fir-cli,但是在指令碼執行過程中任然報fir:command not found
的錯誤
解決辦法: 在終端輸入rvm get head
執行完畢後再次執行指令碼就ok了
到這裡就已經實現了通過指令碼打包併發布到第三方平臺Fir 和 Appstore的整個流程。
參考連結:https://www.jianshu.com/p/05dc9f925467