注意:Mac + iTerm2作為基本工具。
1湾宙、檢查Mac是否已經(jīng)安裝ruby:
終端或者iTerm執(zhí)行命令行:ruby -v?
如果沒(méi)有安裝侠鳄,則去安裝ruby伟恶;已經(jīng)安裝的情況下會(huì)展示當(dāng)前ruby的版本博秫,如圖Image-01所示:
2、檢查本地是否安裝Xcode命令行工具:
終端或者iTerm執(zhí)行命令行:xcode-select --install
如果報(bào)錯(cuò):
則說(shuō)明已經(jīng)安裝過(guò)眶掌。
3挡育、安裝fastlane:
終端或者iTerm執(zhí)行命令行:sudo gem install fastlane
則代表安裝完成。
4朴爬、切換到工程所在目錄進(jìn)行fastlane初始化:
終端或者ITerm執(zhí)行命令行:fastlane init
會(huì)出現(xiàn)如下圖提示:
第1個(gè)選項(xiàng)的意思是:自動(dòng)截屏即寒。 這個(gè)功能能幫我們自動(dòng)截取APP中的截圖;
第2個(gè)選項(xiàng)的意思是:自動(dòng)發(fā)布beta版本用于TestFlight召噩;
第3個(gè)選項(xiàng)的意思是:自動(dòng)發(fā)布到AppStore母赵;
第4個(gè)選項(xiàng)的意思是:手動(dòng)設(shè)置。
這里我選擇第四個(gè):手動(dòng)設(shè)置蚣常。
然后等待初始化安裝依賴(lài):
根據(jù)提示市咽,需要點(diǎn)擊鍵盤(pán)上"enter"鍵三次谷醉,即完成初始化。
5遇八、初始化完成之后,回到工程目錄,會(huì)發(fā)現(xiàn)多了Gemfile文件抓督、Gemfile.lock文件和fastlane文件夾枪汪,其中fastlane文件夾中包含Appfile和Fastfile兩個(gè)文件。
在Appfile文件里做如下配置:
在Fastfile文件里做如下配置:
default_platform(:ios)
platform :ios do
? desc "Submit a new adhoc version to fir"?### 這里可以任意定制desc描述
? lane :adhoc do ??### adhoc 當(dāng)前fastlane任務(wù)的lane名罩锐,可以定制
? ? gym(scheme: "123",?### 這里”123”指的是項(xiàng)目名稱(chēng)
????????????workspace: "123.xcworkspace",?### 這里用當(dāng)前項(xiàng)目對(duì)應(yīng)的xcworkspace
????????????include_bitcode: true,
????????????configuration: "Release",
????????????export_method: "ad-hoc", ###?好幾種方式有app-store竭恬,ad-hoc,development,enterprise
????????????output_directory: "導(dǎo)出ipa包的位置",?### 可以定制到自己想要的位置
? ? ? ? ? ? ?output_name: "導(dǎo)出ipa包的包名",? ### 可以定制自己想要的包名稱(chēng)
? ? ? ? ? ? ?silent: false,
? ? ? ? ? ? ? include_symbols: true)
? ? #上傳ipa至fir.im服務(wù)器
? ? firim(firim_api_token: "fir-api-token") ?### 這里fir-api-token指的是fir.im上面的token
? end
這里需要注意:如果僅僅是自動(dòng)打出包岔绸,而不需要上傳至fir,那么
這一塊可以直接去掉;但如果想打包完直接上傳至fir谴分,還需要在項(xiàng)目目錄下,用終端或者iTerm執(zhí)行命令行:
fastlane?add_plugin?firim ? ##安裝fir插件
gem?install?fir-cli ? ? ##自動(dòng)上傳fir
然后再執(zhí)行命令:bundle exec fastlane?adhoc(adhoc 是Fastfile 里的lane名)即完成打包+上傳fir翘魄。
踩坑記錄:
a、如果項(xiàng)目用cocoapods管理,僅在配置fastfile文件里加上cocoapods,運(yùn)行fastlane會(huì)報(bào)錯(cuò):
需要在Gemfile文件里補(bǔ)充"gem cocoapods":
之后再重新運(yùn)行:
bundle exec fastlane adhoc(adhoc為運(yùn)行fastlane的lane名)
b、報(bào)錯(cuò)說(shuō)找不到"firim":
Could not find action, lane or variable 'firim'. Check out the documentation for more details:?https://docs.fastlane.tools/actions
重新安裝一下fir插件即可:
bundle exec fastlane add_plugin firim
c榜掌、上傳至fir的包,看不到icon和更新日志:
在當(dāng)前目錄下,執(zhí)行命令行:firim --help ? 查找當(dāng)前可以支持的命令
可以看到宴树,紅框所標(biāo)記為咱們需要的命令锭吨,稍微注意下圖片格式為jpg。
將上傳fir腳本改為:
firim(firim_api_token: "你的fir Token", icon: "本地路徑icon.jpg", app_changelog: "1辕翰、更新描述第一段測(cè)試;\n2颊咬、更新描述第二段測(cè)試。")
效果如下:
參考鏈接: