介紹
fastlane是由國外大神開發的一整套幫助app開發者(主要是iOS)進行快速打包及上傳發布的工具集,將繁雜的編譯-等待-打包-等待-上傳-等待
過程通過腳本自動化實現
fastlane
官方文檔
安裝
終端執行gem install fastlane
進行安裝,若是使用系統自帶的ruby,則需在前面加上sudo權限
安裝完成后執行xcode-select --install
,檢查是否安裝了最新版的xcode命令工具
初始化
在項目目錄下,執行fastlane init
進行初始化
選擇模板
按照需求選擇對應序號進行初始化,一般是選擇4自行配置,接著按照提示鍵入enter完成初始化
完成后,會在項目目錄下生成
fastlane
文件夾及Gemfile文件新增文件
打開Appfile文件,輸入項目的相關信息
app_identifier("APP_IDENTIFIER") # APP_IDENTIFIER為bundle id
apple_id("APPLE_ID") # APPLE_ID為對應的開發者賬號
# For more information about the Appfile, see:
# https://docs.fastlane.tools/advanced/#appfile
配置自動化腳本并打包
fastfile文件是用來編寫和定制打包腳本,我們可以在內部定義自己的lane(任務),而每個lane又是由一個個action組成的工作流,舉例一些常用的action:
- gym 進行編譯ipa文件
- scan 自動化測試
- cocoapods 運行pod install
- deliver 用于上傳至appstore
- sigh 用于獲取配置文件
- match 同步證書簽名
貼上一些簡單的腳本配置僅供參考
default_platform(:ios)
platform :ios do
#adhoc打包
lane :adhoc do #adhoc為任務名
#increment_version_number(version_number: op[:vnum])#vnum 是參數名,命令行調用的時候輸入的參數名,設置version版本
#increment_build_number(build_number: op[:bnum])#設置build版本
sigh
desc "ad-hoc"
gym(
scheme: "scheme", #工程下要打包的項目,如果一個工程有多個項目則用[項目1,項目2]
export_method: "ad-hoc", #打包的方式, development/adhoc/enterprise/appstore
output_directory: './build', #指定ipa最后輸出的目錄
)
#pgyer(api_key: "api key", user_key: "user key", update_description: "測試自動打包上傳")#上傳到蒲公英
# firim(firim_api_token: [firim_api_token]) #上傳到firim
end
編寫完成后,執行fastlane adhoc
,即可對應adhoc證書及配置自動進行編譯打包ipa,并將ipa文件放在項目的build文件目錄下
fastlane提供了很多插件,支持直接將生成的ipa文件上傳到對應的平臺,如蒲公英/firim等其他插件
以蒲公英為例,在項目目錄下終端執行fastlane add_plugin pgyer
安裝插件
將上面fastfile文件中的pgyer(api_key: "api key", user_key: "user key", update_description: "測試自動打包上傳")#上傳到蒲公英
注釋打開,登錄蒲公英拿到api key和user key并替換,此時再執行fastlane adhoc
就會完成編譯-打包-上傳到蒲公英的整個過程
按照自己的需求去配置好fastfile文件,從此解放雙手,媽媽再也不用擔心我不會打包了:-D