iOS Fastlane 自動(dòng)化打包進(jìn)階(上傳AppStore、多target打包)

一、前言

在上一篇文章iOS Fastlane 自動(dòng)化打包初探中我們介紹了fastlane的一些簡(jiǎn)單用法讥蟆,其實(shí)fastlane還可以實(shí)現(xiàn)很多功能拒垃。

fastlane

二窍侧、實(shí)現(xiàn)更多的功能

下面這些工具的用法具體可在對(duì)應(yīng)的文檔中查看县踢,文檔講解的很詳細(xì),在配合多次練習(xí)伟件,肯定會(huì)用的得心應(yīng)手

實(shí)際上fastlane是一套工具集硼啤,包含如下工具:

  1. 測(cè)試工具

scan:自動(dòng)運(yùn)行測(cè)試工具,可以生成漂亮的HTML報(bào)告

  1. 生成證書(shū)斧账、配置文件工具

cert:自動(dòng)創(chuàng)建iOS代碼簽名證書(shū)(.cert文件)

sigh:自動(dòng)創(chuàng)建谴返、更新、下載咧织、修復(fù)Provisioning Profile

pem:自動(dòng)生成嗓袱、更新推送配置文件

  1. 截圖、描設(shè)備邊框

deliver:上傳截圖习绢、元數(shù)據(jù)渠抹、App到iTunesConnect

snapshot:使用UI test功能實(shí)現(xiàn)自動(dòng)截圖

frameit:在截圖的圖片外層套上物理設(shè)備邊框

  1. 自動(dòng)化編譯工具

gym:自動(dòng)化編譯工具

三、一鍵上傳AppStore

激動(dòng)人心的時(shí)刻來(lái)臨了闪萄,終于不用一頓操作梧却,各種選擇等待,最后提交審核了败去,現(xiàn)在我們可以一條指令完成以前的所有工作放航,開(kāi)始吧。

  • 1为迈、工具生成
    我們執(zhí)行fastlane init后生成了AppfileFastfile兩個(gè)文件三椿,現(xiàn)在我們需要的工具是deliver
// 在項(xiàng)目根目錄執(zhí)行
$ fastlane deliver init

如果你輸入過(guò)Apple ID 那么會(huì)直接登錄iTunes Connect 并下載所需數(shù)據(jù)缺菌,如果沒(méi)有輸入過(guò)會(huì)讓你輸入Apple ID,照做就是了葫辐。
然后你會(huì)發(fā)現(xiàn)文件發(fā)生了如下變化。


image.png
  • 2伴郁、信息配置
    打開(kāi)metadata你會(huì)發(fā)現(xiàn)iTunes Connect 里APP所有的配置信息都在這里耿战,想更改什么找到對(duì)應(yīng)的更改就是了。

  • 3焊傅、lane 內(nèi)容調(diào)整

# 增加一個(gè)超時(shí)時(shí)長(zhǎng)剂陡,要不然會(huì)報(bào)超時(shí)
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "120"

desc "上傳新版本到 App Store"
  lane :release do
  # 增加build版本號(hào)
  #  increment_build_number
    scheme_name = "xxx"  
    # 導(dǎo)出路徑,桌面文件夾狐胎,沒(méi)有會(huì)創(chuàng)建
    output_directory = File.expand_path("~/Desktop/IPA_Info")
    #導(dǎo)出名稱(chēng) 
    output_name = "#{scheme_name}_#{Time.now.strftime('%Y%m%d%H%M%S')}.ipa"
    gym(
      export_method: "app-store", #這里填寫(xiě)導(dǎo)出方式 
      export_xcargs: "-allowProvisioningUpdates", 
      scheme: scheme_name,# target的名字
      clean: true, # 在構(gòu)建前先clean
      output_directory: output_directory,
      output_name: output_name,
    ) 
    # 上傳AppStore
    deliver
  end

  • 4鸭栖、一行代碼上傳
// 在項(xiàng)目根目錄執(zhí)行
$ fastlane release
  • 5、生成配置信息預(yù)覽文件
    這里選擇y,說(shuō)明你對(duì)配置信息確認(rèn)沒(méi)啥問(wèn)題握巢,選擇n晕鹊,就終止上傳啦。
    你會(huì)在預(yù)覽文件中看到所有的配置信息,則些將是展示在iTunes上的信息


    image.png
  • 6溅话、結(jié)果
    等待一段時(shí)間后晓锻,在iTunes 上你會(huì)驚喜的發(fā)現(xiàn)出現(xiàn)了xx版本準(zhǔn)備提交的選項(xiàng),里面的配置信息也根據(jù)你配置的更改了飞几,目前狀態(tài)是準(zhǔn)備提交砚哆,如果想直接進(jìn)入等待審核呢,deliver增加如下參數(shù)
deliver(
  submit_for_review: true # 提交審核
)
image.png
  • 7、注意事項(xiàng)
    • 在上傳appStore時(shí)候屑墨,app的版本記得更改成想要的版本
    • 如果打包一次了躁锁,再此打包的時(shí)候如果沒(méi)有增加build號(hào),會(huì)報(bào)錯(cuò)卵史,為了避免每次打包都要增加build灿里,我們?cè)黾幼詣?dòng)增加build功能,首選按下圖配置程腹,然后增加increment_build_number匣吊,把 3、lane 內(nèi)容調(diào)整的對(duì)應(yīng)代碼打開(kāi)寸潦。
    • 下圖第3步 這個(gè)值應(yīng)該大于你項(xiàng)目的當(dāng)前build值色鸳,例如我的是305,那么這里應(yīng)該大于305见转,這樣自增才會(huì)有效命雀,因?yàn)橹辉鍪歉鶕?jù)你這個(gè)值增加的。
image.png
  • 如果iTunes 信息手動(dòng)更改了斩箫,想更新到本地的話
// 根目錄下執(zhí)行
$ fastlane deliver download_metadata

四吏砂、多target項(xiàng)目實(shí)現(xiàn)自動(dòng)打包

有時(shí)候我們的項(xiàng)目可能一套代碼有多個(gè)target,這個(gè)時(shí)候怎么實(shí)現(xiàn)自動(dòng)打包我們需要的target呢乘客?其實(shí)很簡(jiǎn)單狐血,如下圖我們?cè)谙胍膖arget中選擇Edit Scheme->shared 勾選,這樣在Fastfile中g(shù)ym配置如下即可,不勾選shared會(huì)報(bào)錯(cuò)

gym (
    scheme: "target的scheme name", # 此處應(yīng)該是TargetDemo2 
)
image.png
image.png

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末易核,一起剝皮案震驚了整個(gè)濱河市匈织,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牡直,老刑警劉巖缀匕,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異碰逸,居然都是意外死亡乡小,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)饵史,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)满钟,“玉大人掸哑,你說(shuō)我怎么就攤上這事×阍叮” “怎么了苗分?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)牵辣。 經(jīng)常有香客問(wèn)我摔癣,道長(zhǎng),這世上最難降的妖魔是什么纬向? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任择浊,我火速辦了婚禮,結(jié)果婚禮上逾条,老公的妹妹穿的比我還像新娘琢岩。我一直安慰自己,他們只是感情好师脂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布担孔。 她就那樣靜靜地躺著,像睡著了一般吃警。 火紅的嫁衣襯著肌膚如雪糕篇。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天酌心,我揣著相機(jī)與錄音拌消,去河邊找鬼。 笑死安券,一個(gè)胖子當(dāng)著我的面吹牛墩崩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侯勉,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鹦筹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了壳鹤?” 一聲冷哼從身側(cè)響起盛龄,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤饰迹,失蹤者是張志新(化名)和其女友劉穎芳誓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體啊鸭,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锹淌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了赠制。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赂摆。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挟憔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烟号,到底是詐尸還是另有隱情绊谭,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布汪拥,位于F島的核電站达传,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏迫筑。R本人自食惡果不足惜宪赶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脯燃。 院中可真熱鬧搂妻,春花似錦、人聲如沸辕棚。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)逝嚎。三九已至岛蚤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間懈糯,已是汗流浹背涤妒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赚哗,地道東北人她紫。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屿储,于是被迫代替她去往敵國(guó)和親贿讹。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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