Fastlane常用Action介绍

常用Action简述

Action列表文档: Actions

我们常用的主要包括下面几部分,其他action的使用可以参考官方文档:

Action 描述
match 一个新的证书和配置文件管理工具。把所有需要用到的证书传到git私有库上,任何需要配置的机器直接用match同步回来就不用管证书问题了推荐新项目使用。🌟🌟🌟🌟🌟
cert 自动创建管理iOS代码签名证书,会去自动创建证书,永远不会撤销现有的证书。如不能创建会报错。
sigh 用来创建、更新、下载、修复Provisioning Profile的工具
gym 自动化编译打包工具.shenzhen的代替品.🌟🌟🌟🌟🌟
pem 自动生成、更新推送配置文件
produce 如果你的产品还没在iTunes Connect(iTC)或者Apple Developer Center(ADC)建立,produce可以自动帮你完成这些工作
deliver 自动上传截图,APP的元数据,二进制(ipa)文件到iTunes Connect,用于发布
snapshot 自动截图(基于Xcode7的UI test)为pilot,boarding和deliver等工具提供和 iTC 和 ADC 的交互API。spaceship本来是个独立的项目,后来被Fastlane收编进来 非官方的iTunes Connect JSON API的文档
frameit 可以把截的图片自动套上一层外边框
pilot 管理TestFlight的测试用户,上传二进制文件
boarding 建立一个添加测试用户界面,发给测试者,可自行添加邮件地址,并同步到iTunes Connect(iTC)
scan 自动运行测试工具,并且可以生成漂亮的HTML报告
spaceship 为pilot,boarding和deliver等工具提供和 iTC 和 ADC 的交互API。spaceship本来是个独立的项目,后来被Fastlane收编进来
WatchBuild 是一个独立的iTC监控工具,开启WatchBuild可以监控iTC上的文件状态,弹出MacOS自带的Notification

常用Action使用

一:gym
常用参数:
scheme: 指定打的哪个scheme
project: 指定project (未使用cocopods)
workspace: 指定workspace (使用cocopods)
clean: 打包前clean
xcargs:  附加一些参数传递给xcodebuild 如: xcargs: 'DEBUG_INFORMATION_FORMAT="dwarf-with-dsym"',
export_method: 出包方法 app-store, ad-hoc, package, enterprise, development
configuration: 指定构建App的配置  Release、Debug、自定义
output_directory : 输出目录
output_name: 输出名称
include_symbols: 是否包含调试符号
include_bitcode: 是否开启bitcode

纯swift工程打包,在非appstore证书下签出来的包都缺少一个swiftsupport文件夹,里面放的是swift的支持库。
二:scan
release情况下无法正常运行scan,需要手动去Build Setting中更改enable Testability 在release 下的状态,改为 yes才可以运行。但是官方不建议做release下开启,Test一般在development configuration 下执行。
三:match
一个新的证书和配置文件管理工具。它会把所有需要用到的证书传到git私有库上,任何需要配置的机器直接用match同步回来就不用管证书问题了。保证大家用的都是同一份。不过我们一般都是一台机器需要用到distribution证书,所以意义不大。

1.match只认识通过match方式创建的pp文件 证书,其他方式创建的不予理会。
2.使用match 需要先撤销现在的证书。
3.如果苹果端的证书,pp文件已删除,那么远端git上的文件也会失效,并且在重新match的时候会失败,好像就只能删光 git端内容,重新match一遍。

常用参数:
git_url : 指定对应git地址
git_branch : 指定对应branch
type :请求文件类型, appstore, adhoc, development, enterprise
app_identifier : app_bundle_identify
clone_branch_directly : 只更新对应branch,只有在存在这个branch时才生效
force_for_new_devices : 如果设备devices列表更新了,就强制更新配置概要文件
verbose :打印出额外的信息和所有的命令
四:deliver
用于直接发包到appstore,可以选择跳过图片和元数据上传,只提包,后面再配图和数据:如下 skip_screenshots 和  skip_metadata 参数
 deliver(
    ipa: "#{OUTPUT_DIRECTORY}" + "/" + "#{IPA_NAME}",
    skip_screenshots: true,
    skip_metadata: true
)
五:pilot
用于发布testflight内部测试,属于testflight action的别名

常用参数:
ipa :要提交的包地址
team_name、team_id :如果有多个team 用于区分team
skip_waiting_for_build_processing : 在提交完成后的等待是否跳过,一般跳过
changelog
testflight(
  ipa : '../xx.ipa'
)
六:spaceship [常见问题官方解释]
spaceship其实一般fastfile中不会使用到,但是由于涉及到与ADC的通信,会出现一些奇奇怪怪的问题,所以对它也要有一点了解。
当第一次使用fastlane安装的时候,会要求输入账号密码核实你的身份来连接ADC,这个时候你提供的登录验证会处理为会话存到 spaceship 的 cookie,会话大概一个月有效期,一个月后失效,通常我们只有在打包失败后才会发现这个问题。

上面提到的这些action都是常用的,正常打包流程必不可少的部分,还有一些常用于辅助作用的Action

  • resign :重新签名
    fastlane sigh resign dev.ipa --signing_identity "证书ID" -p “dev.mobileprovision"
    
  • get_info_plist_value :获取info.plist中得某个key的值
  • set_info_plist_value :设置info.plist中得某个key的值
  • increment_build_number :自动递增项目build号
  • increment_version_number :自动递增项目版本号
  • get_version_number: 获取版本号(新fastlane版本不能再添加scheme参数,只需要target即可)

以上两个都需要先配置好xcode, 配置文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 更新节点:2019-05-15由于fastlane更新频繁,已更新到 2.105.2 2.122.0更新内容:fa...
    就叫yang阅读 61,924评论 73 146
  • fastlane运行所需要的环境: OS X 10.9以上 Ruby 2.0 以上 Xcode 拥有一个开发者账号...
    阿姣_0405阅读 3,043评论 0 4
  • 前言:一直有听过脚本一键打包审核,但是自己一直没在意。在微信公众号看到ios一键打包的文章,突然想想自己每次从打包...
    光彩影阅读 5,636评论 1 42
  • 摘要 手动打包、手动上传是一件非常烦琐的事件,通常会浪费开发者大量的时间,这时候自动打包与分发就起到的重要的角色。...
    Lxyang阅读 1,296评论 3 4
  • Fastlane是什么 Fastlane官网地址fastlane类似js的任务流工具gulp的一个用于androi...
    37手游后端团队阅读 2,700评论 1 2