前期准备 - 工具安装

  • 安装 fastline 工具
# 安装 fastline
$ sudo gem install -n /usr/local/bin fastlane
# 查看 fastline 版本
$ fastlane --version
  • 再 fastline 中,安装 firim 插件
# 安装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自动化打包