由于每天都要给测试打包,实在太过麻烦,所以就试着用fastlane自动打包到蒲公英,果然相比以前手动打包,方便了不知道多少.fastlane是一套使用Ruby写的自动化工具集,用于iOS和Android的自动化打包、发布等工作,可以节省大量的时间。目前fastlane在github上已经有2W+颗星,只能膜拜一下大神.fastlane有很多的功能,具体可以在github上查看,目前我只用到了自动打包到蒲公英的功能,以后功能再具体研究.
安装
1.打开终端,首先要安装正确的 Ruby 版本,在终端窗口中用下列命令来确认:
ruby -v
2.然后检查 Xcode 命令行工具是否安装。在终端窗口中输入命令:
xcode-select --install
如果未安装,终端会开始安装,如果报错误:command line tools are already installed, use "Software Update" to install updates.代表已经安装。3.以上依赖配置好之后就可以通过 rubygem 进行安装了:
加上 -n /usr/local/bin是因为Mac OS X 10.11 已经禁止修改/usr/bin目录了
sudo gem install fastlane
sudo gem install fastlane -n /usr/local/bin
等待一会就安装成功
初始化fastlane
- cd到你工程目录下执行:
fastlane init
- cd到你工程目录下执行:
-
2.这里会弹出四个选项(如图1),问你想要用Fastlane做什么? 这一步选什么好像都没什么关系.
-
3.接下来让会让你输入苹果账号密码,跟着输入就行了.接着输入y,等待安装完成.安装完成之后,你的工程目录里就会多一个fastlane文件(如图2),
里面的Appfile文件,保存的是苹果账号信息,Fastfile文件就是我们需要操作的文件.
自动化打包上传到蒲公英
蒲公英有专门的文档来教学fastlane一键上传到蒲公英.
蒲公英fastlane文档
- 在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。
fastlane add_plugin pgyer
稍等一会即可安装成功
- 在终端中,输入以下命令,即可安装蒲公英的 fastlane 插件。
-
打开工程目录中,我们生成的fastlane文件,打开其中的Fastfile,把文档中的lane加进去.类似于图3,红框中的区域,把下面的ap_key,user_key换成蒲公英里你自己的key
-
3.终端执行一下命令,即可自动打包上传到蒲公英. 这个名字跟刚才自己自定义的lane名字一定要对应.
fastlane ADhoc
接着就是等待它自己打包上传到蒲公英了,完全不用人工操作.出现如图4表示的,即代表上传成功了.另外上传成功的时候,如果绑定了手机,蒲公英也会发短信和邮件过来的.
自动化打包上传到firim
- 前面的步骤安装fastlane都是一样的,只需要添加firim插件,添加
lane
就可以了.在终端输入命令.
- 前面的步骤安装fastlane都是一样的,只需要添加firim插件,添加
fastlane add_plugin versioning
fastlane add_plugin firim
- 2.打开
Fastfile
,添加lane,替换成自己的APIToken
desc "上传到firim"
lane :firim do
# 如果你用 pod install
#cocoapods(use_bundle_exec: false)
# 如果你没有申请adhoc证书,sigh会自动帮你申请,并且添加到Xcode里
#sigh(adhoc: true)
# 以下两个action来自fastlane-plugin-versioning,
# 第一个递增 Build,第二个设定Version。
# 如果你有多个target,就必须指定target的值,否则它会直接找找到的第一个plist修改
# 在这里我建议每一个打的包的Build都要不一样,这样crash了拿到日志,可以对应到ipa上
# gym用来编译ipa
gym(
output_directory: './firim',
export_options: {
method: "ad-hoc", # 这可以不指定
},
scheme: "your Project"
)
# 上传ipa到fir.im服务器,在fir.im获取firim_api_token
firim(firim_api_token: "your token")
end
scheme
是你的工程名
output_directory
是ipa包的存放路径
firim_api_token
是你的firim_api_token 打开firim获取
- 3.终端执行命令,即可自动打包上传到firim. 这个名字跟刚才自己自定义的lane名字一定要对应.
fastlane firim
值得一提的是上传firim必须要实名验证才行,否则会打包失败
打包完成之后,在项目工程目录里会出现.ipa和.zip文件.
另外需要提醒一点的事,无论是git还是svn管理代码,最好把这个fastlane文件给忽略掉.还有其他的一些本地配置的文件.这个东西是不需要上传到服务器的.
结尾
至此大致就完成了,自动化打包上传到蒲公英的功能,在实际工作中,确实能节省大量的时间和精力,不用在一直看着它打包,然后手动上传到蒲公英了,另外fastlane其实还是很多其他的用处,感兴趣的还是可以看看fastlane的官方文档多学习. fastlane官网