Fastlane安裝和使用和注意事項(xiàng)

Fastlane安裝和使用參考博客:http://www.reibang.com/p/840943eff17b
http://www.cocoachina.com/ios/20170519/19317.html

xcode-select --install

ruby -v查看ruby版本闻牡,要求2.0及以上版本

ruby的鏡像文件路徑改為https://gems.ruby-china.org/

gem sources --remove https://ruby.taobao.org/

gem sources --add https://rubygems.org

gem sources -l

安裝:
sudo gem install fastlane -NV

配置fastlane:切換目錄到包含xxx.xcodeproj的項(xiàng)目目錄下輸入
fastlane init
輸出:

[15:21:56]: What would you like to use fastlane for?
1. ??  Automate screenshots
2. ?????  Automate beta distribution to TestFlight
3. ??  Automate App Store distribution
4. ??  Manual setup - manually setup your project to automate your tasks
?  

這四個選項(xiàng)的意思是

1. 自動截屏净赴。這個功能能幫我們自動截取APP中的截圖,并添加手機(jī)邊框(如果需要的話)罩润,我們這里不選擇這個選項(xiàng)玖翅,因?yàn)槲覀兊捻?xiàng)目已經(jīng)有圖片了,不需要這里截屏割以。
2. 自動發(fā)布beta版本用于TestFlight金度,如果大家有對TestFlight不了解的,可以參考王巍寫的這篇文章
3. 自動的App Store發(fā)布包严沥。我們的目標(biāo)是要提交審核到APP Store猜极,按道理應(yīng)該選這個,但這里我們先不選祝峻,因?yàn)檫x擇了以后會需要輸入用戶名密碼魔吐,以及下載meta信息,需要花費(fèi)一定時間莱找,這些數(shù)據(jù)我們可以后期進(jìn)行配置酬姆。
4. 手動設(shè)置。

選擇第四個后一路回車即可(等待時間略長)奥溺,結(jié)束后會看到生成了fastlane目錄辞色,該目錄包含Appfile和Fastfile;

此時不關(guān)終端浮定,過一會兒提示回車相满,看提示回車幾次之后結(jié)束;

[15:37:00]: Continue by pressing Enter ?

[15:37:05]: ------------------------------
[15:37:05]: --- Where to go from here? ---
[15:37:05]: ------------------------------
[15:37:05]: ??  Learn more about how to automatically generate localized App Store screenshots:
[15:37:05]:         https://docs.fastlane.tools/getting-started/ios/screenshots/
[15:37:05]: ?????  Learn more about distribution to beta testing services:
[15:37:05]:         https://docs.fastlane.tools/getting-started/ios/beta-deployment/
[15:37:05]: ??  Learn more about how to automate the App Store release process:
[15:37:05]:         https://docs.fastlane.tools/getting-started/ios/appstore-deployment/
[15:37:05]: ?????  Lern more about how to setup code signing with fastlane
[15:37:05]:         https://docs.fastlane.tools/codesigning/getting-started/
[15:37:05]: 
[15:37:05]: To try your new fastlane setup, just enter and run
[15:37:05]: $ fastlane custom_lane
LYPC:dingdingbao 4 LYPC$ 

然后(二選一桦卒,可以使用命令bundle exec fastlane custom_lane代替fastlane custom_lane立美,這樣會執(zhí)行的更快):fastlane custom_lane
bundle exec fastlane custom_lane
輸出:

[15:40:15]: ------------------------------
[15:40:15]: --- Step: default_platform ---
[15:40:15]: ------------------------------
[15:40:15]: Driving the lane 'ios custom_lane' ??

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
+------+------------------+-------------+

[15:40:15]: fastlane.tools finished successfully ??  這句表示執(zhí)行成功
LYPC:dingdingbao 4 LYPC$ 

打開Fastfile文件:打包是最主要的一步fastlane中有專門用于編譯、打包的命令gym方灾,我們加到lane :custom_lane do后看看會不會有問題
export_method:可選的值有:app-store建蹄、ad-hoc、development裕偿、enterprise

根據(jù)提示來輸入Apple ID(開發(fā)者賬號 洞慎、密碼也會讓輸入)及app_identifier(就是項(xiàng)目的bundle id)等信息
這期間我使用的是企業(yè)版(299$)的賬號 登錄不成功 不知道原因 難道企業(yè)版不能使用fastlane嗎 換了一個99$賬號 可以了.

出現(xiàn)下面的提示 沒有問題你就輸入 y:

Please confirm the above values (y/n)

然后去看路徑下多出來的fastlane文件:

Appfile用來存放app_identifier,apple_id和team_id:
有多個的時候 可以for_lane這樣添加多個嘿棘;

app_identifier "com.aaa.aaa"
apple_id "aaa@aaa.com"
team_id "AAAAAAAAAA"
 
for_lane :inhouse do
  app_identifier "com.bbb.bbb"
  apple_id "bbb@bbb.com"
  team_id "AAAAAAAAAA"
end

Fastfile管理你所創(chuàng)建的 lane

* scan 自動化測試工具劲腿,很好的封裝了 Unit Test
* sigh 針對于 iOS 項(xiàng)目開發(fā)證書和 Provision file 的下載工具
* match 同步團(tuán)隊(duì)每個人的證書和 Provision file 的超贊工具
* gym 針對于 iOS 編譯打包生成 ipa 文件
* deliver 用于上傳應(yīng)用的二進(jìn)制代碼,應(yīng)用截屏和元數(shù)據(jù)到 App Store
* snapshot 可以自動化iOS應(yīng)用在每個設(shè)備上的本地化截屏過程

這個是查到的比較全的帶解釋的:

# 指定 fastlane 最小版本
fastlane_version "2.20.0"

# 指定當(dāng)前平臺鸟妙,可以設(shè)置為 ios 焦人、android挥吵、mac
default_platform :ios

platform :ios do

# 在執(zhí)行每一個 lane 之前都先執(zhí)行這個代碼
  before_all do
  end

# 定義一個創(chuàng)建測試包的 lane
# 我們調(diào)用的命令就是調(diào)用 fastlane 的 lane
  lane :buildDebugApp do |op|
      # 根據(jù)輸入的版本設(shè)置項(xiàng)目 version number (我們初始化 fastlane 的時候是在 .xcworkspace 目錄下, 而我們的項(xiàng)目中 垃瞧,.xcworkspace 和 .xcodeproj 不在同一級目錄蔫劣,這里的“increment_version_number”需要檢測 .xcodeproj 項(xiàng)目文件坪郭,所以需要指定該文件的目錄)
    increment_version_number({xcodeproj: './HomeMate2_Trunk/HomeMate.xcodeproj', version_number: op[:version]})

    # 根據(jù)輸入的版本設(shè)置項(xiàng)目 build number (同上个从,也是需要指定 .xcodeproj 的目錄)
    increment_build_number({xcodeproj: './HomeMate2_Trunk/HomeMate.xcodeproj', build_number: op[:version]})

    # 最重要的打包命令
    gym(
              export_method: 'ad-hoc',        # 打包的方式,可設(shè)置為 appstore(默認(rèn))歪沃,enterprise
                     scheme: "HomeMate",    # 指定需要打那個 scheme 的包
                  workspace: "HMWorkSpac.xcworkspace",    # 指定打包的項(xiàng)目文件
                output_name: "HomeMate.ipa",      # 打包輸出名稱
                     silent: true,    # 隱藏不必要信息
                      clean: true,    # 打包前是否 clean 項(xiàng)目
              configuration: "Debug",    # 配置為 debug 版本
              buildlog_path: "./fastlanelog",    # 日志輸出目錄
       codesigning_identity: "iPhone Developer: Hailiang He (xxxxxxxxxx)",       # 代碼簽名證書
           output_directory: "/Users/xxx/Desktop"     # ipa輸出目錄
     )
  end

  # 在執(zhí)行每一個 lane 之后執(zhí)行該功能
  after_all do |lane|
  end

  # 在執(zhí)行每一個 lane 出錯的時候執(zhí)行該功能
  error do |lane, exception|
  end

end

————————分割線———————————
這個是我自己編輯好打包也成功的嗦锐,貼出參考:

#需要的fastlane的最小版本,在每次執(zhí)行之后會檢查是否有新版本沪曙,如果有會在最后末尾追加新版本提醒
fastlane_version "2.30.1"
default_platform :ios
platform :ios do
  before_all do
  end
  lane :beta do |options|
  cocoapods
  build_app(export_method: "ad-hoc")
  pgyer(api_key: "3335fc51738d0e016e876f877dab041a", user_key: "69b1831d78c147766e643e8d4a006bb3")
  end

  after_all do |lane|
    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end

編輯好以上內(nèi)容奕污,打開終端執(zhí)行:
fastlane buildDebugApp version:2.2.0
或者fastlane buildDebugApp
這個過程會需要一些時間, 如果是直接傳到iTunes connect上 這個也會把版本號校驗(yàn)出來液走,提示你確定版本號的正確否。

執(zhí)行結(jié)束后我們在當(dāng)前目錄下將會看到[ProductName].ipa文件缘眶。

報錯:
[!] Add 'gem "cocoapods"' to your Gemfile and restart fastlane
修改Gemfild文件 里面的 gem 'fastlane' 為 gem "cocoapods"

報錯: method `to_plist' not defined in Array
分別執(zhí)行以下命令:rvm @global do gem uninstall fastlane
rvm all do gem uninstall fastlane
gem uninstall fastlane
gem install fastlane

然后在執(zhí)行打包(成功則萬事大吉)依舊報錯的話:[08:50:55]: RubyGems is not listed as your Gem source
[08:50:55]: You can run gem sources to see all your sources
[08:50:55]: Please run the following command to fix this:
[08:50:55]: $ gem sources --add https://rubygems.org
更改gem源:gem sources查看當(dāng)前是啥
修改:gem sources --add https://rubygems.org然后gem sources查看確認(rèn)一下是否修改成功

重新執(zhí)行打包:fastlane  buildDebugApp
成功后輸出:
[09:07:26]: Upload success. Visit this URL to see: https://www.pgyer.com/6DFV

+------+---------------------+-------------+
|             fastlane summary             |
+------+---------------------+-------------+
| Step | Action              | Time (in s) |
+------+---------------------+-------------+
| 1    | Verifying fastlane  | 0           |
|      | version             |             |
| 2    | default_platform    | 0           |
| 3    | cocoapods           | 6           |
| 4    | build_app           | 187         |
| 5    | pgyer               | 17          |
+------+---------------------+-------------+

[09:07:26]: fastlane.tools finished successfully ??

#######################################################################
# fastlane 2.86.2 is available. You are on 2.86.1.
# You should use the latest version.
# Please update using `sudo gem install fastlane`.
#######################################################################

2.86.2 Fixes get_version_number to auto-select target when there is only one
* Fixes get_version_number to auto-select target when there is only one (#12121) via Josh Holtz

Please update using `sudo gem install fastlane`
LYPC:StarCar LYPC$ 
  • 企業(yè)版的fastlane打包,還未找到原因 總是Apple ID登錄不成功!8檬恪!顶燕!如果有做成功的秋跪求指導(dǎo)。
    這中間歷經(jīng)磨難才調(diào)整好涌攻,現(xiàn)在回想起來也沒那么坎坷,很容易就集成好了恳谎,各位看官有什么自己的想法和優(yōu)秀建議 多多交流。
附上一個友情鏈接:
中間會遇到的情況 升級配置:
使用RVM也就是Ruby Version Manager,Ruby版本管理器來升級ruby惠爽,RVM包含了Ruby的版本管理和Gem庫管理(gemset)
安裝RVM: curl -L get.rvm.io | bash -s stable

source ~/.bashrc

source ~/.bash_profile

rvm -v

使用RVM升級Ruby
ruby -v

列出已知ruby的版本,會出現(xiàn)很多平臺不同的ruby的版本婚肆, 找到自己需要的版本
rvm list known

rvm install 2.1.10

查詢:rvm list
卸載:rvm remove 2.0.0


設(shè)置默認(rèn)版本: rvm use 2.1.10 --default

ruby -v   看看版本有沒有變化PS:首先說明一下租副,在這一步较性,需要按回車鍵用僧,連續(xù)按幾次结胀,當(dāng)然如果你沒裝xcode,需要先去裝xcode责循,不然會報錯糟港,接下來愉快的使用ruby吧
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市院仿,隨后出現(xiàn)的幾起案子秸抚,更是在濱河造成了極大的恐慌,老刑警劉巖歹垫,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剥汤,死亡現(xiàn)場離奇詭異,居然都是意外死亡排惨,警方通過查閱死者的電腦和手機(jī)吭敢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暮芭,“玉大人鹿驼,你說我怎么就攤上這事≡辏” “怎么了畜晰?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長匾效。 經(jīng)常有香客問我舷蟀,道長,這世上最難降的妖魔是什么面哼? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任野宜,我火速辦了婚禮,結(jié)果婚禮上魔策,老公的妹妹穿的比我還像新娘匈子。我一直安慰自己,他們只是感情好闯袒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布虎敦。 她就那樣靜靜地躺著,像睡著了一般政敢。 火紅的嫁衣襯著肌膚如雪其徙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天喷户,我揣著相機(jī)與錄音唾那,去河邊找鬼。 笑死褪尝,一個胖子當(dāng)著我的面吹牛闹获,可吹牛的內(nèi)容都是我干的期犬。 我是一名探鬼主播避诽,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鲤妥!你這毒婦竟也來了轨功?” 一聲冷哼從身側(cè)響起容达,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤花盐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后算芯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡职祷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年有梆,在試婚紗的時候發(fā)現(xiàn)自己被綠了泥耀。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡痰催,死狀恐怖夸溶,靈堂內(nèi)的尸體忽然破棺而出凶硅,到底是詐尸還是另有隱情,我是刑警寧澤压语,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站胎食,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏衩匣。R本人自食惡果不足惜粥航,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柄延。 院中可真熱鬧,春花似錦搜吧、人聲如沸杨凑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昭躺,卻和暖如春曼追,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驹吮。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工晶伦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人族沃。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像常空,于是被迫代替她去往敵國和親盖溺。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容