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

           下图表示已安装

iOS开发之fastlane自动化打包工具安装和使用_fastnale

      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

iOS开发之fastlane自动化打包工具安装和使用_一键打包_02

iOS开发之fastlane自动化打包工具安装和使用_打包_03

如果选择的是4

iOS开发之fastlane自动化打包工具安装和使用_一键打包_04

这时候需要进行的操作是,替换的源:​​https://gems.ruby-china.com​

iOS开发之fastlane自动化打包工具安装和使用_一键打包_05

然后关闭项目对应的终端窗口,删除项目文件夹下的fastlane文件夹,重新打开项目文件夹下新的终端窗口,重新输入fastlane init

              选择3

iOS开发之fastlane自动化打包工具安装和使用_ruby_06

iOS开发之fastlane自动化打包工具安装和使用_一键打包_07

iOS开发之fastlane自动化打包工具安装和使用_fastnale_08

              选择4

iOS开发之fastlane自动化打包工具安装和使用_fastnale_09

              多个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 文件

iOS开发之fastlane自动化打包工具安装和使用_fastnale_10

      6、配置 Fastfile 文件,上传到firm的发布网站,或者上传到蒲公英,或者上传到appstore都可以配置
           其中的 firim 是指定到上传到 ​​​fir ​​的配置

iOS开发之fastlane自动化打包工具安装和使用_fastnale_11

      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​