iOS開發小記—Shell腳本打包

在iOS開發中,我們經常需要上傳ipa包。公司配置的電腦打包速度很慢(看機子和項目大小,反正公司配的蘋果盒子很慢,而且每一步都要手點),打包時基本不能做任何其他事情(很卡),極大的浪費了時間。偶然間聽說了shell腳本可以幫我們很方便的解決這個問題,看了一篇文章之后,特此記錄一下shell打包的流程以及中間遇到的坑。


準備工作

  1. 準備要打包的項目,在蘋果開發者網站上下載打包用到的證書,這里打測試包作為演示,就下載adhoc 證書進行測試。下載adhoc 證書并運行,然后在項目中選中Targets->General->Signing ,勾選Automatically manage signing,把team選為該證書對應的開發者賬號。
  2. 下載ReleaseDir,將ReleaseDir文件夾,放到跟所要打包的項目的根目錄(ShellPackageDemo)同級別的目錄下。
  3. 打開ReleaseDir文件夾中的ExportOptions.plist文件,這里的四個選項是對包的設置。
**  ExportOptions.plist文件參數說明 **
compileBitcode:不上架App Store,Xcode是否啟用Bitcode重新編譯,默認為YES。
method:歸檔類型,包括app-store、ad-hoc、package、enterprise、development以及developer-id。
uploadBitcode:上線App Store是否開啟Bitcode,默認為YES。
uploadSymbols:上線App Store,是否開啟符號序列化,這是與查crash相關的,默認為YES。

因此我們對ExportOptions.plist做如下設置:

ExportOptions設置截圖.png

重點:在使用下列方法前,請先使用Xcode成功打包一次。(具體原因現在不明)

調用方法

1.打開終端,cd至ReleaseDir下。假如電腦之前裝了cocoapods(其他有切換過ruby環境的操作也算),請先在終端運行rvm use system將ruby切成系統的。
2.根據項目具體情況在終端運行下列對應的命令
./release.sh shellPackageDemo -w -e -v 1.0.0 -b 1.0.0 //使用了cocoapods
./release.sh shellPackageDemo -e -v 1.0.0 -b 1.0.0 //未使用cocoapods

調用格式:
參數說明:
<Project directory name>    第一個參數:所要打包的項目的根目錄文件夾名稱         
-w                          workspace打包,不傳默認為project打包
-s <Name>                   對應workspace下需要編譯的scheme(不傳默認取xcodeproj根目錄文件名)
-e                          打包前是否先編譯工程(不傳默認不編譯)
-d                          工程的configuration為 Debug 模式,不傳默認為Release
-a                          打包,Version版本號自動+1(針對多次打測試包時的版本號修改)
-b <Build Num>              Build版本號,指定項目Build號
-v <Version Num>            Version版本號,指定項目Version號
參數-a 與 -v 互斥,只能選擇傳其中之一

演示demo未使用cocoapods,因此運行
./release.sh shellPackageDemo -e -v 1.0.0 -b 1.0.0

得到ipa包

運行結果截圖:

終端運行結果截圖.png

releaseDir目錄截圖.png

參考鏈接:Shell腳本——Xcode腳本打包

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容