Fastlane的优点
1、可以实现一键打包。当与fir、蒲公英、git等平台打通时,fastlane就可以简化很多操作,比如直接测试分发,提升工作效率。
2、fastlane提供好的扩展性
准备工作
1、安装xcode命令行工具。
xcode-select --install
如果没有安装,会弹出对话框,点击安装。
如果提示
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
表示已经安装
2、安装Fastlane。
sudo gem install fastlane -NV
安装完了执行fastlane --version
,确认下是否安装完成和当前使用的版本号。
3、切换到工程目录初始化。
cd到你的项目目录执行
fastlane init
初始化的过程中会出现下面的选项:
第一个选项的意思是:自动截屏。这个功能能帮我们自动截取APP中的截图,并添加手机边框(如果需要的话)
第二个选项的意思是:自动发布beta版本用于TestFlight
第二个选项的意思是:自动发布到AppStore
第二个选项的意思是:手动设置
我在这里选的是第四个(大家可根据自己需要选择)
成功之后,会在我们的工程目录会生成fastlane文件夹和Gymfile
脚本编写
1、fastlane目录。
- Appfile 这里面是app账号和项目的bundle_id 的一些配置项
-
Fastfile 这主要是 脚本编译、打包和上传等
如果选择了其他项初始化,还会有: -
metadata 主要是App Store Connect 中的配置项,宣传文本、app名称、关键字、隐私网址、app的logo
review_information 文件主要是 App 审核信息 的配置、账号、备注、联系方式
trade_representative_contact_information 文件主要是 商务代表联系信息 的配置 - screenshots 这个文件主要是各个尺寸屏幕的截图
- Deliverfile 中为发布的配置信息,一般情况用不到。
2、编写lane脚本。
gym(别名:build_app或者build_ios_app)
- configuration:指定打包方式,有Debug和Release,默认是Release
- scheme:指定工程的scheme
- clean:在构建前是否要clean,默认是false
- output_directory:ipa文件应该存储的目录地址
- output_name:生成ipa文件的名字
- silent: 在构建时隐藏终端不必要输出的信息,默认是false
- export_method:用于导出archive的方法。有效值是:appstore, ad-hoc, package, enterprise, development, developer-id
- export_options:这里指定Xcode API的外部配置文件地址,或者配置hash
如果有cocoapods,需要在Gemfile 中添加 gem "cocoapods"
例如,手动打包lane:
platform :ios do
#当前任务的描述
desc "Description of what the lane does"
#任务名称
lane :dev do
# add actions here: https://docs.fastlane.tools/actions
# 使用了cocoapods
cocoapods
build_ios_app(
silent: true,
clean: true,
scheme:"项目名称"
export_method:"development",
output_directory:"./build/")
end
end
platform :ios do
#当前任务的描述
desc "Description of what the lane does"
#任务名称
lane :dev do
# add actions here: https://docs.fastlane.tools/actions
# 使用了cocoapods
cocoapods
build_ios_app(scheme:"项目名称",
export_options: {
provisioningProfiles: {
"com.example.bundleid" => "Provisioning Profile Nam"
}
})
end
end
打包命令:
fastlane lane的名字
自动上传至Fir.im
执行如下命令安装fir插件:
fastlane add_plugin firim
gem install fir-cli
firim(firim_api_token:"token值")
自动上传至蒲公英
执行如下命令安装蒲公英插件:
fastlane add_plugin pgyer
- api_key:蒲公英 app api_key
- user_key:蒲公英 app user_key
pgyer(
api_key: "[******]",
user_key: "[******]" )
上传钉钉消息通知
- api_key:app 下载链接
- app_icon:app 图标链接
- dingTalk_url:钉钉机器人 webhook,webhook值获得见链接
钉钉自定义机器人