fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化签名、配置、打包、发布等工作
为什么要用fastlane?
因为一行命令就可以实现编译、打包(ad-hoc&app store)、发布(蒲公英、App Store),剩下的时间你就可以愉快地喝茶看新闻了。而且配合Jenkins可以很好地实现持续集成,举个例子:在公司的Gitlab上打一个v开头的tag,就会自动编译打包新版本啦
话不多说直接进入实战环节,其他介绍可参考:blog.devzeng.com
安装fastlane:
sudo gem install fastlane
注:下文的PROJECT_DIR指的是工程根目录,eg:/Users/pan/Documents/Project/Demo/FastLaneDemo2
初始化fastlane
先创建工程或打开工程,这里以创建FastLaneDemo2为例,在Xcode创建FastLaneDemo2之后,先取消Xcode自动管理签名选项:
工程设置.png
初始化fastlane,终端运行:
fastlaneinit
终端:What would you like to use fastlane for?
你:选择3. Automate App Store distribution,即发布自动化,这里主要是想自动配置开发者账号
终端:Please enter your Apple ID developer credentials Apple ID Username:
你:输入自己的AppleID(开启两步验证的账号要输入验证码)
终端:Do you want fastlane to create the App ID for you on the Apple Developer Portal? (y/n)
你:输入n,不在Apple Developer创建应用
终端:Would you like fastlane to create the App on iTunes Connect for
you? (y/n)
你:输入n,不在iTunes Connect 创建应用
终端:Continue by pressing Enter ⏎
你:三次Enter键
执行完这几部就会发现工程根目录新增了fastlane文件夹,打开PROJECT_DIR/fastlane/Appfile文件,会发现开发者账号配置完毕:
app_identifier("com.showu.FastlaneDemo2") # 你的应用的 bundle identifier
apple_id("3*******[email protected]") # 你的AppleID邮箱
itc_team_id("11*****78") # iTunes Connect Team ID
team_id("6FB****FUR") # Developer Portal Team ID
在Apple Developer和iTunesConnect创建App
在PROJECT_DIR/fastlane/Fastfile文件增加:createAppAction
#在iTunesConnect创建App#如果出现The app name you entered is already being used错误请更换app_name值#push_notification: "on"表示App开启通知功能lane:createAppdoproduce(username:'3*******[email protected]',app_identifier:'com.showu.FastLaneDemo2',app_name:'FastLaneDemo2018',language:'English',#如果只在AppleDeveloper创建app,不在iTunesConnect创建app的话#skip_itc: true,app_version:'1.0',enable_services:{app_group:"on",push_notification:"on",})end
这里用到了fastlane的第一个工具:produce(←push_notification等更多参数配置请戳进去查看)。作用是使用命令行在iTunes Connect和Dev Portal上创建新的iOS应用程序
终端输入
fastlane createApp
刷新Apple Developer和iTunesConnect官网,会发现新增了一个App:FastLaneDemo2018
作者:WillPan
原文链接:https://www.jianshu.com/p/db52889f20d0