前期准备 - 工具安装
# 安装 fastline
$ sudo gem install -n /usr/local/bin fastlane
# 查看 fastline 版本
$ fastlane --version
# 安装fir插件
$ fastlane add_plugin firim # 这个如果报错就用下面一行的命令试试
$ bundle exec fastlane add_plugin firim
# 打开fir的配置文件
$ open /Users/iss730001006220/.fastlane/
# 查看插件是否安装成功
$ fastlane search_plugins
- 如果按照过程中遇到不好解决的问题,可以将生成的Pluginfile文件删除,然后重新执行 fastlane add_plugin firim 这个命令
- firim 插件安装成功显示如下:
![]()
在需要自动化打包的项目开始如下操作
1、在项目的根目录执行如下命令
$ fastlane init
- 会生成下面的文件:
![]()
2、编辑 Appfile 文件
app_identifier("bundle identifier") # 项目的 bundle identifier
apple_id("***@qq.com") # Your Apple Developer Portal username
3、编辑 Fastfile 文件
default_platform(:ios)
platform :ios do
desc "Description of what the lane does"
lane :fir do # fir为任务名称
# add actions here: https://docs.fastlane.tools/actions
build_app( # 构建app,archive操作
clean: "true",
workspace: "工程名称.xcworkspace", # 指定工程文件
# scheme: "app名称", # 指定app名称
configuration: "Release", # 指定打包方式,Release 或者 Debug
export_method: "ad-hoc", # 指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development
output_directory: "/Users/iss730001006220/Desktop/autoPackaging" # 本地打包存放的目录
)
end
end
4、执行打包命令
$ fastlane fir # fir 为任务名称,fir 对应 Fastfile 文件中的 lane :fir do
- 首次打包结果如下,报错原因:缺少证书的设置
![]()
5、针对第四步的报错,进行证书的配置,这里选择的是手动管理证书
- 在 export_method 这个后面加入下面的配置
- 其中, com.example.bundleid 这个是项目的bundleid
- Provisioning Profile Name 指的是本地ad_hoc打包的pp文件的名称
export_options: {
provisioningProfiles: {
"com.example.bundleid" => "Provisioning Profile Name"
}
},
文档
参考过的文章
fastlane实现自动化打包
fastline自动化打包