再过几天就要开启两个新项目(吐槽一下,真的很累~~~(>_<)~~~),那么项目测试阶段肯定免不了要频繁的打测试包,为了节省时间就想到了iOS自动化打包,趁着新项目开启前期,赶紧自己敲敲摸摸的研究一下。(本文章只是一篇特别简单的教程,想要深究的执行查阅资料,不喜勿喷)
本文探讨的打包方式是比较常用fastlane,它是用Ruby写的自动化工具集,主要用于iOS和Android的自动化打包、发布等工作,项目托管在github上,有多人维护,有详细的文档。
- fastlane相关链接:
项目地址:https://github.com/fastlane/fastlane
官网地址:https://fastlane.tools
文档地址:https://docs.fastlane.tools
安装
1.首先要安装正确的 Ruby 版本。在终端窗口中用下列命令来确认:
ruby -v
2.然后检查 Xcode 命令行工具是否安装。在终端窗口中输入命令:
xcode-select --install
如果报错误:command line tools are already installed, use "Software Update" to install updates代表已经安装。
3.以上依赖配置好之后就可以开始安装fastlane了。在终端窗口中输入命令:
sudo gem install fastlane
或者
brew cask install fastlane
(不过我通过这条命令安装的fastlane成功之后,却无法执行相关命令,希望大神指教)
初始化
4.按照上述命令安装好fastlane之后,cd到你的工程目录,然后执行:
fastlane init
初始化时,会出现4个选项:
Automate screenshots(自动化截图)
Automate beta distribution to TestFlight(TestFlight)
Automate App Store distribution(appStore发布版本)
Manual setup - manually setup your project to automate your tasks(自定义)
我一般选择第四个选项,然后一直按回车就可以了,初始化完成后,会出现fastlane文件夹,该目录下包含了Appfile和Fastfile。
- Appfile:app_identifier用于指定APP的bundle id,apple_id指的是你的AppleID
- Fastfile:用于管理创建的lane,lane则可以调用各个action(即fastlane的工具链)
打包
打包需要使用gym工具,在安装fastlane时已默认安装了常用工具,所以不需要另外安装gym工具,调用gym需要先cd到项目目录。
5.自动打包然后推送到ITunesConnect中,则输入以下命令(在这个过程中需要输入AppId及密码):
fastlane gym
如果不需要提交到ITunesConnet中,想自己自动生成ipa文件(我一般都是使用这条命令生成测试包),可执行:
fastlane gym --export_method ad-hoc
只要稍微等待一会,就会在项目目录下生成ipa文件,如果你只是想单存的打个包,那么到这里已经结束了O(∩_∩)O。。。
上传到托管平台
为了方便分发测试,我的项目需要上传到fir.im托管平台,所以我还需要安装fir工具集fir-cli以便上传。
- 首先,需要安装fir-cli:
gem install fir-cli
- 安装后可以先执行登陆操作,登陆后在后续操作中可以不用重复添加token了(token需要到fir.im个人账号中获得),执行操作:
fir login api_token(填写你的API token)
- 发布测试包到fir.im,准备好刚刚生成的ipa文件,执行
fir publish app_file_path(ipa路径,直接拖拽ipa进来就会生成)
因为要经常发版,所以肯定要为项目添加描述了,在上面的命令(回车之前)后面直接加上:
-c --changelog='这里添加描述'
到此,从打包到上传托管平台的完整流程就走完了,上传成功后就可以在托管平台上下载安装测试了O(∩_∩)O。。。