介绍
fastlane是由国外大神开发的一整套帮助app开发者(主要是iOS)进行快速打包及上传发布的工具集,将繁杂的编译-等待-打包-等待-上传-等待
过程通过脚本自动化实现
fastlane
官方文档
安装
终端执行gem install fastlane
进行安装,若是使用系统自带的ruby,则需在前面加上sudo权限
安装完成后执行xcode-select --install
,检查是否安装了最新版的xcode命令工具
初始化
在项目目录下,执行fastlane init
进行初始化
按照需求选择对应序号进行初始化,一般是选择4自行配置,接着按照提示键入enter完成初始化
完成后,会在项目目录下生成
fastlane
文件夹及Gemfile文件打开Appfile文件,输入项目的相关信息
app_identifier("APP_IDENTIFIER") # APP_IDENTIFIER为bundle id
apple_id("APPLE_ID") # APPLE_ID为对应的开发者账号
# For more information about the Appfile, see:
# https://docs.fastlane.tools/advanced/#appfile
配置自动化脚本并打包
fastfile文件是用来编写和定制打包脚本,我们可以在内部定义自己的lane(任务),而每个lane又是由一个个action组成的工作流,举例一些常用的action:
- gym 进行编译ipa文件
- scan 自动化测试
- cocoapods 运行pod install
- deliver 用于上传至appstore
- sigh 用于获取配置文件
- match 同步证书签名
贴上一些简单的脚本配置仅供参考
default_platform(:ios)
platform :ios do
#adhoc打包
lane :adhoc do #adhoc为任务名
#increment_version_number(version_number: op[:vnum])#vnum 是参数名,命令行调用的时候输入的参数名,设置version版本
#increment_build_number(build_number: op[:bnum])#设置build版本
sigh
desc "ad-hoc"
gym(
scheme: "scheme", #工程下要打包的项目,如果一个工程有多个项目则用[项目1,项目2]
export_method: "ad-hoc", #打包的方式, development/adhoc/enterprise/appstore
output_directory: './build', #指定ipa最后输出的目录
)
#pgyer(api_key: "api key", user_key: "user key", update_description: "测试自动打包上传")#上传到蒲公英
# firim(firim_api_token: [firim_api_token]) #上传到firim
end
编写完成后,执行fastlane adhoc
,即可对应adhoc证书及配置自动进行编译打包ipa,并将ipa文件放在项目的build文件目录下
fastlane提供了很多插件,支持直接将生成的ipa文件上传到对应的平台,如蒲公英/firim等其他插件
以蒲公英为例,在项目目录下终端执行fastlane add_plugin pgyer
安装插件
将上面fastfile文件中的pgyer(api_key: "api key", user_key: "user key", update_description: "测试自动打包上传")#上传到蒲公英
注释打开,登录蒲公英拿到api key和user key并替换,此时再执行fastlane adhoc
就会完成编译-打包-上传到蒲公英的整个过程
按照自己的需求去配置好fastfile文件,从此解放双手,妈妈再也不用担心我不会打包了:-D