iOS自动化打包

再过几天就要开启两个新项目(吐槽一下,真的很累~~~(>_<)~~~),那么项目测试阶段肯定免不了要频繁的打测试包,为了节省时间就想到了iOS自动化打包,趁着新项目开启前期,赶紧自己敲敲摸摸的研究一下。(本文章只是一篇特别简单的教程,想要深究的执行查阅资料,不喜勿喷)

本文探讨的打包方式是比较常用fastlane,它是用Ruby写的自动化工具集,主要用于iOS和Android的自动化打包、发布等工作,项目托管在github上,有多人维护,有详细的文档。

iOS自动化打包_第1张图片
fastlane_text.png

  • 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。。。

结语

本文只是很简单的介绍了iOS自动化打包流程,关于自动化打包还有很多好玩、高深的技巧,想要学习的同学自己去查看文档资料,在这里就不做深究了,如果你觉得本文对你有帮助的话请给个

github: https://github.com/HappyDeveloperPan

  • 参考资料:
    iOS使用fastlane一键打包审核
    fastlane感悟
    iOS自动打包并发布到Fir.im

你可能感兴趣的:(iOS自动化打包)