fastlane是一套使用Ruby寫的自動(dòng)化工具集棘捣,用于iOS和Android的自動(dòng)化簽名沧烈、配置、打包荐类、發(fā)布等工作
為什么要用fastlane?
因?yàn)橐恍忻罹涂梢詫?shí)現(xiàn)編譯蹂随、打包(ad-hoc&app store)十嘿、發(fā)布(蒲公英、App Store)岳锁,剩下的時(shí)間你就可以愉快地喝茶看新聞了绩衷。而且配合Jenkins可以很好地實(shí)現(xiàn)持續(xù)集成,舉個(gè)例子:在公司的Gitlab上打一個(gè)v開(kāi)頭的tag激率,就會(huì)自動(dòng)編譯打包新版本啦
話不多說(shuō)直接進(jìn)入實(shí)戰(zhàn)環(huán)節(jié)咳燕,其他介紹可參考:blog.devzeng.com
安裝fastlane:
sudo gem install fastlane
注:下文的PROJECT_DIR指的是工程根目錄,eg:/Users/pan/Documents/Project/Demo/FastLaneDemo2
初始化fastlane
先創(chuàng)建工程或打開(kāi)工程乒躺,這里以創(chuàng)建FastLaneDemo2為例招盲,在Xcode創(chuàng)建FastLaneDemo2之后,先取消Xcode自動(dòng)管理簽名選項(xiàng):
工程設(shè)置.png
初始化fastlane嘉冒,終端運(yùn)行:
fastlaneinit
終端:What would you like to use fastlane for?
你:選擇3. ?? Automate App Store distribution曹货,即發(fā)布自動(dòng)化,這里主要是想自動(dòng)配置開(kāi)發(fā)者賬號(hào)
終端:Please enter your Apple ID developer credentials Apple ID Username:
你:輸入自己的AppleID(開(kāi)啟兩步驗(yàn)證的賬號(hào)要輸入驗(yàn)證碼)
終端:Do you want fastlane to create the App ID for you on the Apple Developer Portal? (y/n)
你:輸入n讳推,不在Apple Developer創(chuàng)建應(yīng)用
終端:Would you like fastlane to create the App on iTunes Connect for
you? (y/n)
你:輸入n控乾,不在iTunes Connect 創(chuàng)建應(yīng)用
終端:Continue by pressing Enter ?
你:三次Enter鍵
執(zhí)行完這幾部就會(huì)發(fā)現(xiàn)工程根目錄新增了fastlane文件夾,打開(kāi)PROJECT_DIR/fastlane/Appfile文件娜遵,會(huì)發(fā)現(xiàn)開(kāi)發(fā)者賬號(hào)配置完畢:
app_identifier("com.showu.FastlaneDemo2") # 你的應(yīng)用的 bundle identifier
apple_id("3*******5@qq.com") # 你的AppleID郵箱
itc_team_id("11*****78") # iTunes Connect Team ID
team_id("6FB****FUR") # Developer Portal Team ID
在Apple Developer和iTunesConnect創(chuàng)建App
在PROJECT_DIR/fastlane/Fastfile文件增加:createAppAction
#在iTunesConnect創(chuàng)建App#如果出現(xiàn)The app name you entered is already being used錯(cuò)誤請(qǐng)更換app_name值#push_notification: "on"表示App開(kāi)啟通知功能lane:createAppdoproduce(username:'3*******5@qq.com',app_identifier:'com.showu.FastLaneDemo2',app_name:'FastLaneDemo2018',language:'English',#如果只在AppleDeveloper創(chuàng)建app蜕衡,不在iTunesConnect創(chuàng)建app的話#skip_itc: true,app_version:'1.0',enable_services:{app_group:"on",push_notification:"on",})end
這里用到了fastlane的第一個(gè)工具:produce(←push_notification等更多參數(shù)配置請(qǐng)戳進(jìn)去查看)。作用是使用命令行在iTunes Connect和Dev Portal上創(chuàng)建新的iOS應(yīng)用程序
終端輸入
fastlane createApp
刷新Apple Developer和iTunesConnect官網(wǎng)设拟,會(huì)發(fā)現(xiàn)新增了一個(gè)App:FastLaneDemo2018
作者:WillPan
原文鏈接:http://www.reibang.com/p/db52889f20d0