iOS开发之fastlane自动化打包工具安装和使用
fastlane的文档:https://docs.fastlane.tools/
fastlane介绍:
fastlane是用Ruby语言编写的一套自动化工具集和框架,每一个工具实际都对应一个Ruby脚本,用来执行某一个特定的任务,而fastlane核心框架则允许使用者通过类似配置文件的形式,将不同的工具有机而灵活的结合在一起,从而形成一个个完整的自动化流程。比如我需要完成一套发布流程:
#发布到AppStore
lane :release do
#增加build版本号,需要先配置build setting
increment_build_number
#pod资源更新
cocoapods
#打包
gym
#发布到AppStore
deliver(force: true)
#发布testflight测试
testflight
end
依赖:Xcode、Mac电脑(含有ruby2.0以上版本)、fastlane版本
安装步骤:
1、检查是否安装 ruby,如果未安装,根据错误提示安装ruby
$ ruby -v
2、检查是否安装 xcode-select 工具
$ xcode-select --install
下图表示已安装
3、安装 fastlane 工具
打开工程目录下的终端
如果用的是mac自带的ruby,需要 sudo权限
使用: sudo gem install fastlane [-NV]
如果报错:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin
使用: sudo gem install -n /usr/local/bin fastlane [-NV]
4、打开工程目录下的终端,初始化 fastlane
fastlane init
新版本安装的时候出现了下面的分支选择,按要求选择就行
1. ???? Automate screenshots
2. ????✈️ Automate beta distribution to TestFlight (自动testfilght型配置)
3. ???? Automate App Store distribution (自动发布型配置)
4. ???? Manual setup - manually setup your project to automate your (需要手动配置内容)
(1)自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框(如果需要的话)
(2)自动发布 beta 版本用于 TestFlight
(3)自动发布到 AppStore
(4)手动设置
注意:如果选择的是3
如果选择的是4
这时候需要进行的操作是,替换的源:https://gems.ruby-china.com
然后关闭项目对应的终端窗口,删除项目文件夹下的fastlane文件夹,重新打开项目文件夹下新的终端窗口,重新输入fastlane init
选择3
选择4
多个Enter 后有可能会输入开发者账号和密码。安装成功之后,会在工程目录生成一个 fastlane 文件夹和 Appfile 和 Fastfile 两个文件。
fastlane操作改变后我们再了解一下有哪些配置文件:
Appfile: 存储有关开发者账号相关信息
Fastfile: 核心文件,主要用于 命令行调用和处理具体的流程,lane相对于一个方法或者函数
Deliverfile: deliver工具的配置文件
metadata: 元数据文件夹
Matchfile: Match操作对应的配置文件
screenshots: 截图文件夹
除开手动配置项,fastlane 会要求填写Apple ID,选择你的Team(如果有多个) 然后fastlane会自动检测当前目录下项目的App Name和App Identifier、Project。然后自行确认并按流程执行。
常用命令:
fastlane actions: 展示所有有效action列表 fastlane action [action_name]: 展示一个action的详细说明,使用方法等 fastlane lanes: 展示fastfile中的所有lane fastlane list: 展示fastfile中的所有的有效的lane fastlane new_action: 创建一个新的action fastlane env: 打印fastlane、ruby环境,一般提bug到issue的时候会要求提供
其他:
1.如果Deliverfile、screenshots和metadata没有自动生成,通过deliver init 可以重新初始化
2.fastlane的配置会要求输入开发者账号密码,通过spaceship与Apple交互,并会产生一份有效期一个月的cookies文件:文件地址: ~/.fastlane/spaceship/[email]/cookie (两步验证问题)
3.Matchfile: match 这个action的配置文件,fastlane match init 自动生成,存放git地址等
5、配置 Appfile 文件
6、配置 Fastfile 文件,上传到firm的发布网站,或者上传到蒲公英,或者上传到appstore都可以配置
其中的 firim 是指定到上传到 fir
的配置
7、安装 fir 插件,对应firm的发布网站,安装的时候要新建一个终端窗口
$ fastlane add_plugin firim
$ sudo gem install fir-cli
8、安装 pgyer 插件,对应蒲公英的发布网站,安装的时候要新建一个终端窗口
$ fastlane add_plugin pgyer
9、打包及上传到 fir,这个是配置文件中,自己自定义的方法名,可以根据自己喜好修改
$ fastlane upFirim
相关链接:
fastlane使用说明书https://www.jianshu.com/p/19ae8cc865b0
iOS效率神器fastlane自动打包https://www.jianshu.com/p/5d836e89d9d1
自动化打包之fastlane--(1) 研究之必须提前了解的几点https://blog.csdn.net/kuangdacaikuang/article/details/80443515