# iOS使用fastlane自動化打包到fir(最全最詳細流程)(簡書地址:https://www.jianshu.com/p/12441deb55ef)
1. **首先確認是否安裝了ruby,終端查看下ruby版本**
> ruby -v
終端輸出:ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin18]
2. **確認 Xcode 命令行工具為最新版本:**
> xcode-select --install
3. **檢查Fastlane是否安裝正確,輸入以下命令:**
> fastlane --version
終端輸出:fastlane 2.140.0 (證明已安裝,否則需要進行安裝操作)
4. **安裝fastlane**
> sudo gem install -n /usr/local/bin fastlane
(安裝過程中如果提示ruby版本過低,請設置ruby默認版本為最新,成功則輸出Successfully installed fastlane-2.140.0)
> rvm use 2.4.1 --default
終端輸出:Using /Users/xuhuizhan/.rvm/gems/ruby-2.4.1
5. **ruby重啟會恢復回之前版本解決方案:**
> 先查看路徑 which ruby
> 然后在.bash_profile / .zshrc 里面加入ruby的路徑
> export PATH=/Users/xuhuizhan/.rvm/rubies/ruby-2.4.1/bin:$PATH
6. **為項目配置 fastlane**
> fastlane init
1、 📸 Automate screenshots (自動化截圖)
2、 👩✈️ Automate beta distribution to TestFlight (將測試版分發自動化到TestFlight)
3、 🚀 Automate App Store distribution (自動上傳、發布到App Store)
4、 🛠 Manual setup - manually setup your project to automate your tasks (手動設置 - 手動設置您的項目以使您的任務自動化)
我們發布到fir/蒲公英這些的話,選擇4,后面enter即可
7. **安裝fir插件**
> fastlane add_plugin firim
終端輸出:Successfully installed plugins
8. **如果項目中使用 cocopods 需在Gemfile 文件中添加**
> gem 'cocoapods'
9. **在項目根目錄下 fastlane/Fastfile 中編輯內容如下**
```
default_platform(:ios)
platform :ios do
desc "Description of what the lane does"
lane :TestFir do #函數名稱,執行打包的時候使用
time = Time.new.strftime("%Y%m%d") #獲取時間格式
version = get_version_number#獲取版本號
ipaName = "Release_#{version}_#{time}.ipa"
gym(
scheme:"TestFir", #項目名稱
export_method:"enterprise",#打包的類型 導出方式 ad-hoc、enterprise、app-store、development
configuration:"Release",#模式,默認Release,還有Debug
output_name:"#{ipaName}",#輸出的包名
output_directory:"./build"#輸出的位置
)
firim(firim_api_token: "xxx") # token 在fir 上查看。
end
end
```
10. **在該項目目錄下,執行命令fastlane TestFir,打包上傳成功**
> fastlane TestFir
```
成功如下:
+------+--------------------+-------------+
| fastlane summary |
+------+--------------------+-------------+
| Step | Action | Time (in s) |
+------+--------------------+-------------+
| 1 | default_platform | 0 |
| 2 | get_version_number | 0 |
| 3 | gym | 364 |
| 4 | firim | 4 |
+------+--------------------+-------------+
[14:48:24]: fastlane.tools just saved you 6 minutes! 🎉
```
11. **去查看fir上面是否有上傳成功即可**