Fastlane 安裝文檔:https://docs.fastlane.tools/getting-started/ios/setup/
Installing fastlane
Make sure you have the latest version of the Xcode command line tools installed:
xcode-select --install
Install fastlane using
[sudo] gem install fastlane -NV
or alternatively using brew cask install fastlane
Navigate to your project directory and run
fastlane init
Setting up fastlane
Navigate your terminal to your project's directory and run
for Ruby setup:
fastlane init
for Swift setup:
fastlane init swift
安裝Fastlane插件
fastlane add_plugin versioning
fastlane add_plugin firim
編輯Fastfile文件
default_platform(:ios)
platform :ios do
desc "Push a new release build to the App Store"
lane :release do
# 不帶adhoc參數,sigh會自動生成App Store證書(公司或個人帳戶)
sigh
# 指定輸出目錄
gym(
output_directory: './build',
clean: true,
)
# 上傳所有信息到App Store
deliver(
force: true,
skip_screenshots: true,
submit_for_review: true,
)
end
desc "Debug方式打包后上傳到fir"
lane :to_firim do
# 如果你用 pod install
# cocoapods
# 如果你沒有申請adhoc證書,sigh會自動幫你申請,并且添加到Xcode里
#sigh(adhoc: true)
# 以下兩個action來自fastlane-plugin-versioning,
# 第一個遞增 Build,第二個設定Version。
# 如果你有多個target,就必須指定target的值,否則它會直接找找到的第一個plist修改
# 在這里我建議每一個打的包的Build都要不一樣,這樣crash了拿到日志,可以對應到ipa上
#increment_build_number_in_plist(target: "XXXXX")
#increment_version_number_in_plist(
# target: "XXXXX",
# version_number: '1.9.0'
# )
# gym用來編譯ipa
gym(
output_directory: './firim',
# clean: true,
silent: true,
export_options: {
method: "ad-hoc", # 指定打包方式
configuration: "Debug",
teamID: "teamID",
include_bitcode: false
},
scheme: "noerden_ios"
)
# 上傳ipa到fir.im服務器,在fir.im獲取firim_api_token
firim(firim_api_token: "firim_api_token")
end
end
使用
終端切換到項目根目錄,執行Fastfile中的action。
未完待續。。。