欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-24 19:04:10
...

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自动化打包工具安装和使用

      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自动化打包工具安装和使用

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

             如果选择的是4

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

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

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

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

              选择3

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

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

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

              选择4

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

              多个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自动化打包工具安装和使用

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

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

      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