安裝Fastlane 環境
fastlane的git https://github.com/fastlane
fastlane相關文檔 https://docs.fastlane.tools
本機環境如下圖:
所使用的是Xcode9;
一、首先需要安裝rvm
RVM 是一個命令行工具,可以提供一個便捷的多版本 Ruby 環境的管理和切換。
1 、安裝命令
$ curl -L get.rvm.io | bash -s stable
結果:
2、指定源
$ source ~/.rvm/scripts/rvm
3、檢查一下是否安裝正確,正確會顯示版本號,如下圖的1.29.3版本
$ rvm -v
4、用 RVM 安裝 Ruby 環境
(1)列出已知的ruby版本
$ rvm list known

(2)可以選擇現有的rvm版本來進行安裝(下面以rvm 2.3.0版本的安裝為例)建議2.3.0及以上版本,2.0.0版本安裝fastlane中會出現問題,等待下載。
$ rvm install 2.3.0
可能遇到的問題:如下圖所示,提示Error running‘xxx’,並提示查看log文件,這里查詢文件提示錯誤是brew 出錯。

解決方法:
$ brew update
更新的時候可能提示Error:/usr/local must be writable!

這里需要先更改可寫權限:
$sudo chown -R 當前Mac登錄的用戶名 /usr/local
例如:$sudo chown -R Datacvg /usr/local
再執行:$ brew update
成功后再執行$ rvm install 2.3.0
結果:

(3)查詢已經安裝的ruby,這里我只安裝了2.3.0版本
$ rvm list

(4)卸載一個已安裝版本
$ rvm remove 1.9.2
5、設置 Ruby 版本
(1)RVM 裝好以后,需要執行下面的命令將指定版本的 Ruby 設置為系統默認版本,如果只有一個版本就不用設置默認了
$ rvm 2.3.0 --default
(2)測試ruby版本是否正確
$ ruby -v

(3)查看gem版本
$ gem -v

6、更換源
這有可能是因為Ruby的默認源使用的是cocoapods.org,國內訪問這個網址有時候會有問題,網上的一種解決方案是將遠替換成淘寶的,替換方式如下:
$ gem source -r https://rubygems.org/
$ gem source -a https://ruby.taobao.org
要想驗證是否替換成功了,可以執行:
$ gem sources -l
正常的輸出結果:

到這里就已經把Ruby環境成功的安裝到了Mac OS X上。
二、fastlane安裝
1、確保你的Xcode命令行工具的最新版本安裝:
命令:xcode-select --install
如果已經安裝會有提示已經安裝:

2、安裝fastlane
https://docs.fastlane.tools
官方提供了三種安裝方式:

第一種:通過Homebrew,如果fastlane與jenkins結合使用可以使用brew安裝,先安裝homebrew,在安裝fastlane,然安裝jenkins,fastlane與jenkins結合使用。
第二種:下載fastlane包,運行包里面install進行安裝,執行install的時候會被阻止,需要在安全性與隱私設置,還有一個問題下載的包可能不是最新版,在使用的時候提示要更新,這里更新沒有成功,所以不建議使用。
第三種:本文使用的方法,安裝ruby之后,在命令行輸入:
sudo gem install fastlane -NV
即可安裝,安裝完成后執行:
fastlane -v
可查詢當前安裝版本:

三、項目使用fastlane
1、在終端打開你的iOS項目文件.xcodeproj所在的文件夾
cd xxx
執行fastlane初始化,命令:
fastlane init
會出現一下提示:想要做什么?因為要打包企業級項目所以這里選擇4, 如果選擇3,需要輸入Apple ID等相關信息,如果ID是企業級賬號會提示init 失敗。

選擇4之后,會提示回車繼續,完成之后項目文件夾中會多出一個fastlane文件夾,文件中包含Appfile,Fastfile兩個文件
分別對兩個文件的內容設置:
Appfile:主要是app_identifier和apple_id

Fastfile:

都配置完成之后,在終端輸入
fastlane ios enterprise
執行開始打包,這里ios enterprise 是lane的Name,如果執行錯誤,會有提示.
如果執行后提示gym命令相關的錯誤
fastlane gym produces error: method `to_plist' not defined in Array #11503
可以參考:
https://github.com/fastlane/fastlane/issues/11503
方法終端命令:
1、rvm @global do uninstall fastlane
2、gem install fastlane
3、rvm @global do gem install fastlane
4、rvm @global do fastlane action gym
5、rvm @global do gem uninstall fastlane
rvm all do gem uninstall fastlane
gem uninstall fastlane
6、gem install fastlane
之后在打包的時候就可以了,不知道原理:

四、遇到的錯誤
fastlane init
報錯 Unable to locate Xcode. Please make sure to have Xcode installed on your machine
可能在Xcode中沒有設置“Command Line Tools”:打開Xcode偏好設置,選擇"Location"選項卡,選擇相應的“Command Line Tools”即可。