iOS 使用 fastlane 實現(xiàn)自動打包上傳App Store

如果圖片失效可以到我的博客查看:fastlane 實現(xiàn)自動打包上傳App Store

fastlane 自動化iOS打包上傳

下一篇 使用fastlane自動截屏

安裝 fastlane

安裝fastlane之前,我們得安裝ruby,因為fastlane使用ruby語言寫的,安裝ruby前,我們要先安裝一個mac軟件包管理工具。

1.安裝HomeBrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/  master/install)"

2.安裝完 更新到最新版: 執(zhí)行 brew update 、之后更新包: brew upgrade

3.安裝 ruby:

brew install ruby
查看版本: ruby -v                                                                                                                                       
我的版本:ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin16]

4.安裝fastlane

sudo gem install fastlane -NV

查看版本:

[~] fastlane -v                                                                                                                                                                                                                   
fastlane installation at path:
/Users/xxxxx/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.84.0/bin/fastlane
-----------------------------
fastlane 2.84.0

安裝成功就可以開始使用了: 具體使用文檔可以查看Fastlane Doc 這里只是介紹自動化上傳App Store 構(gòu)建版本、以及自動提交 DSYM 文件到 Frabic crashlytics 上

使用 fastlane

在項目根目錄執(zhí)行: fastlane init 結(jié)果如下:


屏幕快照 2018-03-05 下午5.35.57

這四個選項的意思是:

  • 自動截屏。這個功能能幫我們自動截取APP中的截圖,添加手機邊框,我們這里不選擇這個選項,因為我們的項目已經(jīng)有圖片了,不需要這里截屏。
  • 自動發(fā)布beta版本用于TestFlight
  • 自動的App Store發(fā)布包。我們的目標是要提交審核到APP Store,如果使用這個可以直接提交到 app store,期間可能出現(xiàn)讓你輸入你的 appid 賬號密碼,如果你的appid二級驗證,你需要去官網(wǎng)生成一個專用密碼輸入
  • 自定義設(shè)置。(本文主講)

這里選擇 4 期間可能會報錯忽略就好 一路 Enter
An error occurred while installing unf_ext (0.0.7.5), and Bundler cannot continue.


屏幕快照 2018-03-05 下午5.48.41

結(jié)束目錄結(jié)構(gòu)如下:


屏幕快照 2018-03-05 下午5.49.56

主要文件 Fastfile 打開


屏幕快照 2018-03-05 下午5.51.15

其實現(xiàn)在我們就可以運行了 ,執(zhí)行 fastlane custom_lane
會看到 fastlane.tools finished successfully 表示執(zhí)行成功了

打包

lane :build_app_store do
    # add actions here: https://docs.fastlane.tools/actions
    gym(
        scheme:"自己項目名字",
        export_method:"app-store",
        output_directory:"./fastlane/build",
        archive_path:"./Archive",
        clean: true,
        )

    # update_app_store 這個方法是上傳項目到 appstore 的方法 下面有介紹 寫這里就是執(zhí)行完打包自定上傳到 itunes connect
  end

scheme: 如果你使用第三方的庫,如果你不指定會讓你選擇(肯定要選擇自己App名字的)這里設(shè)置之后就不會再詢問你了
export_method: ,'ad-hoc','app-store' 標記為什么版本
output_directory: 導(dǎo)出的目錄

保存之后執(zhí)行:

fastlane build_app_store 

執(zhí)行結(jié)果在build 文件中生成 ipa、dSYM.zip


屏幕快照 2018-03-05 下午6.13.39

提交App Store審核

這里我們使用 deliver 工具

  • 執(zhí)行 fastlane deliver 需要輸入 appid、選擇team、yourAppIdentifier
fastlane deliver
  • 修改 Fastfile 新寫一個方法 這里名為 update_app_store
lane :update_app_store do
    increment_build_number
    # 編譯代碼
    gym(
        scheme:"自己項目名字",
        export_method:"app-store",
        )
    # 發(fā)布到 Apple Store
    deliver
  end
  • 主要說下這個 increment_build_number 字段 項目內(nèi)部版本號(build 號) 這里是自增
    具體使用方法參見

使用自增需要在項目中設(shè)置自增


1520245848957
  • 現(xiàn)在就可以使用 fastlane update_app_store上傳項目了
fastlane update_app_store

到此已經(jīng)打包上傳項目完成了

dSYM文件上傳 Farbic 項目中使用 crashlytics 統(tǒng)計崩潰

在Fastfile 中新寫一個方法


lane :update_to_crashlytics do

    upload_symbols_to_crashlytics(
        dsym_path: "./fastlane/build/PushupsApp.app.dSYM.zip",
        api_token: "你自己的appkey"
        )

  end

完整 Fastfile 文件


屏幕快照 2018-03-05 下午6.38.15

致辭今天分享已經(jīng)結(jié)束

參考文檔

官網(wǎng)文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容