- 原始文章和代码请戳一下
- 先放图看 fastlane 实现自动上传功能:
工作流程:
提交成功,等待审核
Fastlane 简介
fastlane 是一个完全开源的项目,包含一组 Ruby 实现的工具集,能完成 iOS 和 Android 工程 的自动化构建\测试和发布等功能,现被Twitter收购,是Fabric的一部分.fastlane 强大之处就在于其提供的工具全,基本可以覆盖打包测试发布的所有流程,如下图:
fastlane 的每一个工具都对应一个 Ruby 脚本,用来执行某一特定的任务,而最妙的是可以通过配置文件将不同的工具灵活的结合在一起,从而形成一个完整的自动化流程,实现一键上传 ITC,从而缩短用于构建发布的时间.
1.主要使用场:
- 提交时执行测试(包括单元测试和集成测试)
- 构建并分发内部测试\公开测试版本
- 构建生产版本并上传至 ITC(包括更新配置文件,创建新的屏幕截图,上传应用并提交审核)
- …
2.工具集
fastlane 将如下的工具套件有机地结合起来,从管理证书到单元测试,从编译打包到上传发布,都能通过命令行轻松完成.该套件支持与 Jenkins 和 CocoaPods,xctools 等其他第三方工具的集成,并且能够定义多个通道(lanes)以支持不同的部署目标.
- deliver: 将应用在 ITC 上所需数据提交至 ITC (包括:截图,配置文件,ipa包)
- snapshot: 依靠 UI Test 完成截图
- frameit: 快速地把应用截图放入设备框里
- pem: 可以自动化地生成和更新应用推送通知描述文件
- sigh: 创建\更新\下载和修复 provisioning profiles,支持App Store, Ad Hoc, Development和企业profiles
- gym: 编译\打包iOS app,生成签名的ipa文件
- …
3.常见命令
fastlane 命令中,个人觉得下面两个较为常用:
- 列出所有的 fastlane 的 actions:
$ fastlane actions
- fastlane action [action_name]: 显示某一个 action 的详细配置
$ fastlane action match
fastlane 入门实战
1.安装 fastlane
1.1 创建App ID\描述文件
- 本教程目标是上传 ITC ,因此需要提前在 ADC 和 ITC 中创建 App ID\描述文件\App
- 这里使用的项目是 AD Demo,代码见 GitHub
1.2 安装
查看 Ruby 版本,低于2.0最好升级
$ ruby -v
检查 Xcode CLT 是否安装
$ xcode-select --install
安装 fastlane
$ sudo gem install -n /usr/local