一、安裝xcode命令行工具
xcode-select --install,如果沒有安裝,會彈出對話框,點擊安裝。如果提示xcode-select: error: command line tools are already installed,use "Software Update" to install updates表示已經(jīng)安裝
二、安裝Fastlane
sudo gem install fastlane -NV或是brew install fastlane我這里使用brew安裝的
安裝完了執(zhí)行fastlane --version,確認(rèn)下是否安裝完成和當(dāng)前使用的版本號。
確認(rèn)安裝完之后執(zhí)行 export PATH="$HOME/.fastlane/bin:$PATH" ,然后退出終端,再重新打開就可以使用fastlane命令了
三、初始化Fastlane
cd到你項目根目錄下執(zhí)行
fastlane init
enter 鍵之后會打印出一下信息

這里會打印四個選項,問你想要用Fastlane做什么?可以根據(jù)我們的需要選擇對應(yīng)的選項,我這里選的是manual。
回車就會出現(xiàn)如下信息:

之后可能會報這個錯誤:

根據(jù)提示 sudo gem install unf_ext -v '0.0.7.6', 安裝成功信息如下:

然后把iOS工程目錄下的fastlane文件夾刪掉,重新fastlane init 就好了。然后打開fastlane文件夾,里面會有Appfile 和?Fastfile 兩個文件。執(zhí)行打包腳本是寫在Fastfile這個文件里面的,? 腳本大概如下:

具體打包只需要在項目工程下面運行fastlane action_name 就可以了,打包之前一定要確保對應(yīng)的證書和profile文件要配置好。
上傳到蒲公英的時候可能會報如下的錯誤:

這是因為沒有安裝蒲公英插件。如果要上傳到蒲公英,需要安裝蒲公英插件,安裝蒲公英插件在終端輸入 fastlane add_plugin pgyer 命令執(zhí)行,根據(jù)提示安裝就可以.
如果安裝遇到下面的錯誤?Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

則執(zhí)行如下命令:bundle install 。然后再執(zhí)行fastlane add_plugin pgyer 就可以了
四、使用match進(jìn)行團(tuán)隊證書管理
match是fastlane的一個功能組件, 能自動從蘋果官方上下載證書和pp文件同步到我們的git倉庫中。
1、match初始化
直接到iOS工程目錄下面,執(zhí)行fastlane match init 命令,執(zhí)行之后會出現(xiàn)如下的選項,就是選擇使用git或是google_cloud的方式來托管證書,這里我們選git,選1就可以了

選擇git方式之后就會要求你輸入Git倉庫地址,自己創(chuàng)建一個用于管理證書的倉庫地址填寫進(jìn)來就可以了。

首次運行?match?時,需要設(shè)置 GIT 存儲庫的密碼。 一定要記住此密碼,因為在不同計算機(jī)上運行 match 時,將需要此密碼。?
如圖9所示,輸入Git倉庫地址,按enter鍵就的到如下信息,說明Matchfile文件已經(jīng)創(chuàng)建成功。

工程目錄下打開 fastlane => Matchfile 文件,如下圖所示

可以看到Matchfile文件中有幾個變量,git_url就是我們之前輸入的保存證書的git倉庫,storage_mode就是證書托管方式 'git',是我們之前選好的。type對應(yīng)的是證書類型,默認(rèn)是development,app_identifier是對應(yīng)的bundleID,可以填多個,username是我們的蘋果開發(fā)者賬號AppleID,這些可以在這里配置,避免后續(xù)命令重復(fù)讓你輸入。
2、舊證書清理
配置完成之后就可以創(chuàng)建證書了,如果之前的證書比較亂可以通過以下命令分別清理對應(yīng)的證書
fastlane match nuke development
fastlane match nuke distribution
fastlane match nuke adhoc
3、生成新的證書
在工程目錄下分別執(zhí)行
fastlane match development
fastlane match adhoc
fastlane match appstore
即可。這個過程會讓你輸入appleID和bundleID,如果你之前沒有寫在Matchfile文件里面寫的話。
4、團(tuán)隊管理
團(tuán)隊中其他人新加入進(jìn)來的話不需要在當(dāng)前工程下再初始化match,只需要獲取證書即可。需要執(zhí)行的命令如下:
fastlane match development --readonly
fastlane match adhoc --readonly
fastlane match appstore --readonly
并根據(jù)提示,輸入上文說所的在match初始化時設(shè)置的存儲證書的git倉庫的密碼即可。
這里要注意一下,當(dāng)我們輸入以上命令的時候可能會報出如下錯誤:
[!] Could not find option 'storage_mode' in the list of available options: git_url, git_branch, type, app_identifier, username, keychain_name, keychain_password, readonly, team_id, git_full_name, git_user_email, team_name, verbose, force, skip_confirmation, shallow_clone, workspace, force_for_new_devices, skip_docs, platform。
這個錯誤的原因是因為在你的Matchfile文件中設(shè)置了storage_mode變量,把這個變量注釋掉就可以了(目前還不知道什么原因,初始化match的電腦沒有這個問題,其他人就有這個問題)。
xcode要取消Automatically manage signing,并將獲取到的pp文件放到對應(yīng)的Signing配置中,至此就配置完成啦!
五、設(shè)備管理
在目錄 fastlane/ 下創(chuàng)建設(shè)備列表文件,devices.txt, devices.txt內(nèi)容格式如下圖所示

在Fastfile中添加一個action, 如下圖所示:

當(dāng)有新設(shè)備加入時,只要按照格式往devices.txt文件添加設(shè)備ID等信息,再在工程目錄下執(zhí)行
fastlane add_devices就可以了。這一般出錯的原因可能就是填寫的格式不對,所以格式注意一下就行了。