fastlane自動化打包到TestFlight發(fā)布進階,高級語法撒轮,包含蒲公英和TestFlight乞旦。進階先配置基礎(chǔ)自動化打包參考:iOS利用Fastlane自動打包上傳到蒲公英和TestFlight
完整Fastfile文件代碼如下:
#打包發(fā)布到蒲公英命令:
#dev
#fastlane pgy_Debug
#預(yù)上線
#fastlane pgy_ReleaseYSX
#線上正式
#fastlane pgy_Release
#打包發(fā)布到AppStore的TestFlight命令:
#dev
#fastlane Debug
#預(yù)上線
#fastlane ReleaseYSX
#線上正式
#fastlane Release
#聲明
IPA_TIME = Time.now.strftime("%Y年%m月%d日%H:%M")#打包日期,全局變量
default_platform(:ios)
platform :ios do
desc "多環(huán)境腔召、多平臺自動化打包"#通用注釋,打包不用修改
#update_content是版本更新內(nèi)容杆查,每次打包可以修改此處
update_content = "修復(fù)bug,穩(wěn)定"
#打包上傳到蒲公英 - Debug臀蛛,打包命令:cd到工程下再命令:fastlane pgy_Debug
lane :pgy_Debug do
#局部變量
ENCIRONMENT_DES = "dev環(huán)境"#環(huán)境配置
pgy_package(configuration: "Debug")#指定構(gòu)建App的配置 Release、Debug崖蜜、自定義
end
#打包上傳到蒲公英 - Debug_ProductServer
lane :pgy_ReleaseYSX do
#局部變量
ENCIRONMENT_DES = "預(yù)上線環(huán)境"#環(huán)境配置
pgy_package(configuration: "Debug_ProductServer")#指定構(gòu)建App的配置 Release浊仆、Debug、自定義
end
#打包上傳到蒲公英 - Release
lane :pgy_Release do
#局部變量
ENCIRONMENT_DES = "線上正式環(huán)境"#環(huán)境配置
pgy_package(configuration: "Release")#指定構(gòu)建App的配置 Release豫领、Debug抡柿、自定義
end
#蒲公英公用類
lane :pgy_package do |option|
build_app(export_method: "ad-hoc",#打包證書選擇
scheme: "miniVideo",#選擇打包項目的taregets
export_xcargs: "-allowProvisioningUpdates",#自動更新證書,防止因為證書打包失敗
configuration: option[:configuration]#指定構(gòu)建App的配置 Release等恐、Debug洲劣、自定義
)
pgyer(api_key: "02997a39bc6227fabe632e1829532b33", user_key:"3008c7be1e0c92bd05a554dd91aa8aef",
update_description: "【" + "#{ENCIRONMENT_DES}" + "," + "#{IPA_TIME}" + "打包上傳】"+update_content
)
# 可選的值有:app-store课蔬、ad-hoc囱稽、development、enterprise二跋。
end
#打包到AppStore的TestFlight-Debug
lane :Debug do
#局部變量
ENCIRONMENT_DES = "dev環(huán)境"#環(huán)境配置
AppStore_package(configuration: "Debug")#指定構(gòu)建App的配置 Release战惊、Debug、自定義
end
#打包到AppStore的TestFlight-Debug_ProductServer
lane :ReleaseYSX do
#局部變量
ENCIRONMENT_DES = "預(yù)上線環(huán)境"#環(huán)境配置
AppStore_package(configuration: "Debug_ProductServer")#指定構(gòu)建App的配置 Release扎即、Debug吞获、自定義
end
#打包到AppStore的TestFlight-Release
lane :Release do
#局部變量
ENCIRONMENT_DES = "線上正式環(huán)境"#環(huán)境配置
AppStore_package(configuration: "Release")#指定構(gòu)建App的配置 Release、Debug谚鄙、自定義
end
#TestFlight公用類
lane:AppStore_package do |option|
#增加build版本號,需要先配置build setting各拷,每次build自動+1
increment_build_number(xcodeproj: "miniVideo.xcodeproj") #build自動+1
build_app(workspace: "miniVideo.xcworkspace", scheme: "miniVideo",
configuration:option[:configuration],#指定構(gòu)建App的配置 Release、Debug闷营、自定義
)
upload_to_testflight(
beta_app_review_info: {
contact_email: "yingxiangguoji@yxgj100.com",
contact_first_name: "ying",
contact_last_name: "xiang",
contact_phone: "15600301632",
demo_account_name: "13526260425",
demo_account_password: "888888",
notes: "適用于fastlane自動打包上傳提審等操作 thank you for reviewing"
},
localized_build_info: {
"default": {
whats_new: "【" + "#{ENCIRONMENT_DES}" + "烤黍," + "#{IPA_TIME}" + "打包上傳】"+update_content,#【App更新內(nèi)容,如:修復(fù)bug】
},
"en-GB": {
whats_new: "適用于fastlane自動打包上傳提審等操作(en-GB)",
}
},
# true就不自動提審了
skip_waiting_for_build_processing: false,#如果您想跳過等待處理完成的過程。
skip_submission:false,#跳過pilot的分發(fā)操作蚊荣,只上傳ipa文件
username: "yingxiangguoji@yxgj100.com",#要提交到的開發(fā)者賬號
app_identifier: "com.ying.miniVideo",
beta_app_feedback_email:"yingxiangguoji@yxgj100.com",#上傳新版本時提供測試版應(yīng)用郵件
beta_app_description:"fastlane自動化打包App描述",#上傳新版本時提供“Beta應(yīng)用描述”【顯示在app詳情初狰,描述里】
demo_account_required: true,#當(dāng)蘋果進行評論時,你需要一個演示賬戶嗎?
#構(gòu)建是否應(yīng)該分發(fā)給外部測試人員互例?
distribute_external: true,
notify_external_testers: true,
groups:"公測",#將測試人員按照組名/組id關(guān)聯(lián)到一個或多個組奢入。例如-g“團隊1”,“團隊2”
changelog:"解決測試提出的bug",#上傳新版本時媳叨,提供“要測試什么”文本腥光。skip_waiting_for_build_processing:設(shè)置更改日志需要false
beta_app_feedback_email:"yingxiangguoji@yxgj100.com",#上傳新版本時提供測試版應(yīng)用郵件
ipa: "花生短視頻.ipa"#到要上載的ipa文件的路徑
)
# upload_to_testflight
#打包命令cd到工程下再命令:fastlane Debug
end
end
用VScode編輯器可以編輯,首先創(chuàng)建一個.rb結(jié)尾的文件糊秆,如Fastfile.rb