这个世界是懒人创造的。
人懒了就会发明各种各样的工具,或者寻找各种各样能够给自己偷懒机会的工具,当然我还停留在使用各种工具的阶段。或者可能不是因为懒,只是为了我们的生活更方便。
回到开发上,传统打包提测的过程比较恶心,尤其是iOS一个工程可能有不同的bundle ID,使用各种各样的配置环境,各种各样的证书打各种各样的包来给测试人员使用,然后会发现,在打包的时候要注意好多东西,各种配置,证书,bundle ID,如果项目复杂的话就会可能打出来的包并不是测试人员要的包,或者哪个地方设置有问题就还得重新打一遍,作为开发人员的我们很头疼的好吧。
为了打包提测整个流程更方便,还有就是作为开发人员哪的我们把重点放在开发上而不是打包上,各种各样的自动打包构建提测工具就应运而生,我们本文提到的fastlane就是一种,集各种强大功能于一身,几乎可以解决我们打包提测整个流程的所有事情。
安装
这个就不多说了,参见官方文档就好了fastlane setup
初始化
官方文档给出了两种语言初始化方法
默认的Ruby的,以及Swift的,由于Swift现在还是beta版本,所以我们还是选取Ruby版本
打开终端,cd到项目根目录
fastlane init
执行完成之后会发现我们项目根目录多出了两个文件:
fastlane 文件夹——文件夹中包括Appfile(存储配置项,例如bundle ID,itunes_connect_id等),Fasefile(打包脚本)
Gemfile(Ruby的包管理工具,类似于iOS开发中的CocoaPods) 文本文件
fastlane action
fastlane提供了好多的action,包括证书的创建管理(cert),provisioning profile的创建管理(sigh, match),自动截图,打测试包上传到TestFilght,打线上包上传到App Store,通过各种各样的插件或者action打各种各样的包,打包之前之后进行各种操作等等。。。。由于我这里用到的东西比较少,更多的功能可以自行挖掘fastlane actions
fastlane Plugins
fastlane通过各种插件可以拓展更多的功能available plugins
fastlane search_plugins [pluginName] #通过该命令查找插件
fastlane add_plugin [pluginName] # 通过该命令安装插件
fastlane CocoaPods
fastlane默认支持CocoaPods,只需要在打包脚本中添加一行cocoapods
就OK了,但是实际使用的时候可能会有问题,这个问题貌似跟Ruby使用Gem作为包管理方式有关,直接这样写得时候回提示找不到Pod
,需要在项目根目录中我们做初始化的时候生成的Gemfile
做一下配置
source