一、初始化Fastlane
1.首先,打開終端窗口,cd 到項目目錄。進入項目文件夾之后,輸入下列命令
fastlane init
# 注意:如果你看到一個 “permission denied” 錯誤,你可能要在命令前加上 sudo。
幾分鐘之后,fastlane 會通過詢問下列問題(應該是英文,我幫你翻譯了),引導你完成設置過程:
請輸入 ?App Identifier (com.krausefx.app):
請輸入一個唯一的 app ID。請記住這個 ID,因為后面你還會用到它! 你的 Apple ID (fastlane@krausefx.com):
請輸入你的 Apple ID 是否創建 deliver 命令,即上傳 app 屏幕截圖、app 元數據和 app 更新到 App 商店或者蘋果的 TestFlight?(y/n)
輸入 n 是否創建 snapshot 命令,它會自動獲取 app 在所有語言和設備類型上的屏幕截圖?(y/n)
輸入 y 是否使用 sigh 命令,它會維護和下載 app 的 provisioning profile?(y/n)
輸入 y 可選項:app 的 scheme 名稱:(如果不需要,直接回車)
安裝完成之后,你會發現多了一個 fastlane 文件夾,里面內容如下:
其中:
Appfile, 用于存放 app ID 和你的 Apple ID。 Fastfile, 用于管理你所創建的 lane,lane 則會調用 action。
恭喜你!你現在可以使用 fastlane 了。
二、打包ipa
1.創建并編寫腳本
vim build_using_gym.sh
2.復制如下代碼到build_using_gym.sh文件中,修改項目名稱后保存
#!/bin/bash
#計時
SECONDS=0
#假設腳本放置在與項目相同的路徑下
project_path=$(pwd)
#取當前時間字符串添加到文件結尾
now=$(date+"%Y_%m_%d_%H_%M_%S")
#指定項目的scheme名稱
scheme="項目名稱"
#指定要打包的配置名
configuration="Adhoc"
#指定打包所使用的輸出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method參數
export_method='ad-hoc'
#指定項目地址
workspace_path="$project_path/項目名稱.xcworkspace"
#指定輸出路徑
output_path="project_path/APP"
#指定輸出歸檔文件地址
archive_path="$output_path/項目名稱_${now}.xcarchive"
#指定輸出ipa地址
ipa_path="$output_path/項目名稱_${now}.ipa"
#指定輸出ipa名稱
ipa_name="項目名稱_${now}.ipa"
#獲取執行命令時的commit message
commit_msg="$1"
#輸出設定的變量值
echo"===workspace path: ${workspace_path}==="
echo"===archive path: ${archive_path}==="
echo"===ipa path: ${ipa_path}==="
echo"===export method: ${export_method}==="
echo"===commit msg: $1==="
#先清空前一次build
gym--workspace ${workspace_path}--scheme ${scheme}--clean--configuration ${configuration}--archive_path ${archive_path}--export_method ${export_method}--output_directory ${output_path}--output_name ${ipa_name}
#上傳到fir 如果不想上傳就注釋掉
fir publish ${ipa_path}-T fir_token-c"${commit_msg}"
#輸出總用時
echo"===Finished. Total time: ${SECONDS}s==="
3.為腳本添加執行權限
chmod +x build_using_gym.sh
4.運行build_using_gym.sh腳本
./build_using_gym.sh
5.打包完成,success!
項目根路徑下APP文件夾
三、生成證書和 Provisioning Profile
在任意文本編輯器(推薦使用Xcode)中打開 Fastfile 文件,將內容替換為:
# Minimum version of fastlane
fastlane_version"1.104.0" ?#注意要換成你的fastlane版本
default_platform :ios
platform :ios do
#1
desc"Creating a code signing certificate and provisioning profile"
#2
lane :provision do
#3
produce(
app_name: 'ENTER_A_UNIQUE_APP_NAME_HERE', #換成你的APP name
language: 'English', ? #可以換語音
app_version: '1.0', ? #APP版本
sku: '123abc' ? ? #sku換成你自己的
)
#4
cert
#5
sigh(force: true)
end
error do |lane, ?exception|
# This block is called,if there was an error running a specific lane.
end
end
注意幾點:
將 ENTER_A_UNIQUE_APP_NAME_HERE 替換成一個唯一的 App 名字
用于描述這個 lane 的工作。一個 lane 是一個按順序執行的工作流。 執行名為 provision 的 lane。 produce 用指定的 ID、name、語言和版本號創建一個可用于 iTunes Connect 和 Developer Portal 的 app。 cert 創建一個新的私鑰和簽名請求,下載、安裝生成的證書并導入到鑰匙串。 sigh 創建了一個 provisioning profile。force 參數為 true,則每次運行時都會創建新的 provisioning profile,這樣就可以保證每次都使用正確的代碼簽名證書。
注意:sigh 默認創建的是 App Store 的發布 profile。如果你想創建 ad hoc profile,你需要使用 sigh(adhoc:true)。如果是開發 profile 則使用 sigh(development:true)。為簡單起見,在本文中你只需要創建 distribution profile。
你現在創建了第一個 lane。保存文件,打開終端進入到項目文件夾,輸入命令:
fastlane provision
大約一分鐘左右,fastlane 會問你 iTunes Connect 密碼,它會保存到你的 Mac 的鑰匙串里。輸入密碼,如果執行成功,你的終端窗口會顯示success(忘了截圖了...)
注意:如果你看到錯誤,例如 “Creation of apps of this type is not available”, 則請登錄你的 iTunes Connect,看一下是否有某些更新的協議需要你確認。
在進行下一步之前,你還需要在 Xcode 中進行某些修改。打開 XXXX.xcodeproj,選擇 XXXX Target,切換到 General 頁。將 bundle identifier 修改為初始化 fastlane 時輸入的 App ID。
在 Build Settings > Code Signing > Provisioning Profile 設為 “ <new APP> AppStore”。然后在 Code Signing Identity 選擇和這個 provisioning profile 相對應的 ID:
注意,code signing identity 應該和 provisioning profile 中的 identities 相匹配。這樣,當 gym 編譯 IPA 文件時會使用新創建的 provisioning profile。
四、登錄iTunes Connect查看新建APP
登錄進 iTunes Connect !你的 app 已經創建好了,nice!
只需要一條命令,你就在 iTunes Connect 和 Dev Portal 中創建了一個 app 和一個 provisioning profile。簡直很爽嘛。
PS:你的開發者賬號必須是付費的。或者加入了開發組,并且開通了iTunes Connect管理員權限才可以使用Fastlane。
那么初級使用篇就先介紹到這里了。待我再深入了解下,再更新Fastlane的更多用法。
Fastlane有非常多的功能,今后會盡量多的發掘出來,供大家使用~