通過Fastlane 完成自動化打包
1.Fastlane 安裝
1.1 檢查 Xcode 命令行工具是否安裝砌庄,在終端輸入以下命令,如果安裝過會有提示已骇,如果沒裝過就會自動開始安裝炒事。
xcode-select —install
1.2 開始安裝 Fastlane 颗管,在終端輸入以下命令。
sudo gem install fastlane --verbose
1.3 如果安裝時出現(xiàn)錯誤無法安裝,就使用以下命令安裝
sudo gem install -n /usr/local/bin fastlane
1.4 安裝完成后可以輸入以下命令查看版本來驗證是否安裝成功重挑。
fastlane --version
2. 蒲公英配置 Fastlane 初始化配置
2.1 初始化配置,終端cd 到你項目工程的根目錄(xcodeproj 的同級目錄)
2.2 安裝蒲公英的 Fastlane 插件,終端輸入以下命令安裝 蒲公英 插件
fastlane add_plugin pgyer
2.3 初始化配置Fastlane
fastlane init
3.參照項目根目錄中的Fastlane文件
fastlane_version "2.101.1"
default_platform :ios
platform :ios do
? desc "以 stg環(huán)境 方式打包并上傳到蒲公英"
? lane :archiveStg do
? ? puts "以 development 方式打包"
? ? gym(
? ? ? # 指定打包所使用的輸出方式 (可選: app-store, package, ad-hoc, enterprise, development)
? ? ? export_method: "development",
? ? ? # 指定項目的 scheme 名稱
? ? ? scheme: "generali-stg",
? ? ? # 指定輸出的文件夾地址
? ? ? output_directory: "~/Desktop/generali-stg/" + Time.new.strftime("%Y-%m-%d %H-%M-%S"),
? ? )
? ? puts "上傳 ipa 包到蒲公英"
? ? pgyer(
? ? ? # 蒲公英 API KEY
? ? ? api_key: "10852ae2cfa75e0569d7c687affdd4c2",
? ? ? # 蒲公英 USER KEY
? ? ? user_key: "7dba99e4b49f48ff94a6fdd3a6396a28"
? ? )
? end
? desc "以 pre環(huán)境 方式打包并上傳到蒲公英"
? lane :archivePre do
? ? puts "自動生成 Provisioning Profiles 文件"
? ? sigh(
? ? ? # 指定輸出的文件夾地址
? ? ? output_path: "./archive/sign",
? ? ? # 是否為 AdHoc 證書(設(shè)為 false 或不寫默認為 AppStore 證書)
? ? ? adhoc: true
? ? )
? ? puts "以 ad-hoc 方式打包"
? ? gym(
? ? ? # 指定打包所使用的輸出方式 (可選: app-store, package, ad-hoc, enterprise, development)
? ? ? export_method: "ad-hoc",
? ? ? # 指定項目的 scheme 名稱
? ? ? scheme: "generali-pre",
? ? ? # 指定輸出的文件夾地址
? ? ? output_directory: "~/Desktop/generali-pre" + Time.new.strftime("%Y-%m-%d-%H-%M-%S"),
? ? ? # 指定打包方式 (可選: Release, Debug)
? ? ? configuration: "Release"
? ? )
? ? puts "上傳 ipa 包到蒲公英"
? ? pgyer(
? ? ? # 蒲公英 API KEY
? ? ? api_key: "10852ae2cfa75e0569d7c687affdd4c2",
? ? ? # 蒲公英 USER KEY
? ? ? user_key: "7dba99e4b49f48ff94a6fdd3a6396a28"
? ? )
? end
? # desc "以 app-store 方式打包并上傳到 iTunes Connect"
? # lane :release do
? #? puts "自動生成 Provisioning Profiles 文件"
? #? sigh(
? #? ? # 指定輸出的文件夾地址
? #? ? output_path: "./archive/sign"
? #? )
? #? puts "以 app-store 方式打包"
? #? gym(
? #? ? # 指定打包所使用的輸出方式 (可選: app-store, package, ad-hoc, enterprise, development)
? #? ? export_method: "app-store",
? #? ? # 指定項目的 scheme 名稱
? #? ? scheme: "generali-stg",
? #? ? # 指定輸出的文件夾地址
? #? ? output_directory: "~/Desktop/generali-store" + Time.new.strftime("%Y-%m-%d-%H-%M-%S"),
? #? ? # 指定打包方式 (可選: Release, Debug)
? #? ? configuration: "Release"
? #? )
? #? puts "上傳 ipa 包到 iTunes Connect"
? #? deliver(
? #? ? # 跳過截圖上傳
? #? ? skip_screenshots: true,
? #? ? # 跳過元數(shù)據(jù)上傳
? #? ? skip_metadata: true,
? #? ? # 跳過審核直接上傳
? #? ? force: true
? #? )
? # end
end
初始化過程中會讓你輸入蘋果開發(fā)者賬號的賬號和密碼嗓化,這個信息會存儲在鑰匙串中,后續(xù)使用無需再輸入密碼谬哀。
初始化過程中還會檢測當前項目的 App Identifier 是否已經(jīng)在 Apple Developer 中刺覆,還會檢測當前 App 是否已經(jīng)在 iTunes Connect 中,如果都滿足的話史煎,過程應(yīng)該是比較順利的谦屑。
初始化完成之后會在你項目工程的目錄下生成一個 fastlane 文件夾,里面是 Fastlane 的一些配置文件篇梭。其中 Appfile 里面存放了 App 的基本信息包括 App_Identifier 氢橙、AppID 、Team_ID 等很洋。Fastfile 是最重要的一個文件充蓝,在這個文件里面可以編寫和定制我們打包腳本的一個文件,所有自定義的功能都寫在這里
4.使用Fastlane 自動化打包
4.1 cd到工程目錄下?
4.2 運行
fastlane archiveStg 即可
4.3 最終出現(xiàn) successfully代表成功