1、安裝 RVM
RVM:Ruby Version Manager,Ruby版本管理器湾趾,包括Ruby的版本管理和Gem庫(kù)管理(gemset)
\curl -L https://get.rvm.io | bash -s stable --ruby
等待一段時(shí)間后就可以成功安裝好 RVM。
$ source ~/.bashrc
$ source ~/.bash_profile
測(cè)試是否安裝正常
rvm -v
2.更新ruby版本顿苇,安裝rvm
?curl?-L?get.rvm.io?|?bash?-s?stable?
測(cè)試是否安裝正常?rvm?-v?
列出已知ruby版本:rvm list known?
安裝一個(gè)ruby版本:rvm install 2.6.0
使用一個(gè)ruby版本:rvm use 2.6.0
設(shè)置默認(rèn)版本:?rvm use 2.6.0 --default
?卸載:rvm remove 2.0.0
3 ,?查看當(dāng)前的gem源
gem sources?
如源路徑不是https://gems.ruby-china.com/修改 ruby的鏡像文件路徑改為https://gems.ruby-china.com/
gem sources --remove?https://rubygems.org
gem sources --add?https://rubygems.org
# 清空源緩存
gem sources -c
# 更新源緩存
gem sources -u
更新gem版本,然后再次安裝Fastlane:
sudo gem update--system
sudo gem install fastlane -NV
4.安裝gemfile文件
http://www.reibang.com/p/32fcdeb5bbec
如果使用cocoapod,必須要在Gemfile文件里添加? ?gem"cocoapods"
5,插件安裝
Fastlane的插件是一個(gè)或者一組action的打包,單獨(dú)發(fā)布在fastlane之外荣刑。Fastlane Plugin 指南
可以輸入
fastlane search_plugins
查找相應(yīng)的插件
安裝插件方法
fastlane add_plugin [name]# 安裝方法
安裝插件(版本和firim插件)
fastlane add_plugin versioning# 用來(lái)修改build版本號(hào)和version版本號(hào)。
fastlane add_plugin firim #firim插件
6, 配置fastlane:切換目錄到包含xxx.xcodeproj的項(xiàng)目目錄下輸入
fastlane init
輸出:
[15:21:56]: What would you like to use fastlanefor?1. ??? Automate screenshots2. ?????? Automate beta distribution to TestFlight3. ??? Automate App Store distribution4. ??? Manual setup - manually setup your project to automate your tasks?
這四個(gè)選項(xiàng)的意思是
1. 自動(dòng)截屏伦乔。這個(gè)功能能幫我們自動(dòng)截取APP中的截圖厉亏,并添加手機(jī)邊框(如果需要的話),我們這里不選擇這個(gè)選項(xiàng)评矩,因?yàn)槲覀兊捻?xiàng)目已經(jīng)有圖片了叶堆,不需要這里截屏。
2. 自動(dòng)發(fā)布beta版本用于TestFlight斥杜,如果大家有對(duì)TestFlight不了解的虱颗,可以參考王巍寫的這篇文章
3. 自動(dòng)的App Store發(fā)布包沥匈。我們的目標(biāo)是要提交審核到APP Store,按道理應(yīng)該選這個(gè)忘渔,但這里我們先不選高帖,因?yàn)檫x擇了以后會(huì)需要輸入用戶名密碼,以及下載meta信息畦粮,需要花費(fèi)一定時(shí)間散址,這些數(shù)據(jù)我們可以后期進(jìn)行配置。
4. 手動(dòng)設(shè)置宣赔。
發(fā)布腳本配置? https://whlsxl.github.io/
更新當(dāng)前bundle到最新版本
?bundle update --bundler
Fastfile內(nèi)容
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#? ? https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#? ? https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
? desc "Push a new release build to the App Store"
lane :release do
? ? build_app(workspace: "TestObject.xcworkspace", scheme: "TestObject")
? ? upload_to_app_store
? end
lane :to_firim do
? # 如果你用 pod install
? cocoapods
? # 如果你沒有申請(qǐng)adhoc證書预麸,sigh會(huì)自動(dòng)幫你申請(qǐng),并且添加到Xcode里
? sigh(adhoc: true)
? # 以下兩個(gè)action來(lái)自fastlane-plugin-versioning儒将,
? # 第一個(gè)遞增 Build吏祸,第二個(gè)設(shè)定Version。
? # 如果你有多個(gè)target钩蚊,就必須指定target的值贡翘,否則它會(huì)直接找找到的第一個(gè)plist修改
? # 在這里我建議每一個(gè)打的包的Build都要不一樣,這樣crash了拿到日志砰逻,可以對(duì)應(yīng)到ipa上
? increment_build_number_in_plist(target: "TestObject")
? increment_version_number_in_plist(
? ? target: "TestObject",
? ? version_number: '1.0.0'
? ? )
? # gym用來(lái)編譯ipa
? gym(
? ? output_directory: './firim',
? ? export_options: {
? ? ? method: "ad-hoc", # 指定打包方式
? ? ? teamID: "78ASKeG7F3",
? ? ? thinning: "<none>"
? ? },
? ? scheme: "TestObject",
#output_name: "TestObject.ipa"
? ? )
? # 上傳ipa到fir.im服務(wù)器鸣驱,在fir.im獲取firim_api_token
? firim(firim_api_token: "dc42c6ffcdcd2766bfe881d0e6d81b12")
end
end
參考
http://www.reibang.com/p/2918cf082b9d