iOS利用Fastlane自动打包上传到蒲公英和TestFlight

iOS利用Fastlane自动打包上传到蒲公英和TestFlight

【注意】参考地址:https://www.pgyer.com/doc/view/fastlane

一、安装Fastlane终端命令:

sudo gem install fastlane -NV

二、【配置项目】下面每个项目都要安装

【注意】首次上传必须先手动打一个包上传到蒲公英,生成应用后才能上传,不能再蒲公英哪里创建空白应用,否则自动打包必失败。

1、打开终端cd到项目目录下输入初始化项目命令:

fastlane init

注:fastlane会提示我们使用它做什么:

选项1:自动截图。手动截图并将处理好后的图片发布到测试或线上平台上需要消耗大量的时间,fastlane可以简化这一步。(目前还没有测试这一选项,因为暂时没用到这个功能)

选项2:将测试包发布到TestFlight。

选项3:自动发布到App Store。

选项4:手动设置(自定义发布平台)。

这里我们选择选项4。因为,我们需要将测试app提交到蒲公英。

【如果在fastlane init的时候,在$ bundle update卡在下图很久,我们先强制关闭终端,打开后再尝试使用fastlane init】

有个步揍第一次安装后面按几次回车键盘完成。

2、安装蒲公英的 Fastlane 插件

在终端中(终端cd到项目目录),输入以下命令,即可安装蒲公英的 fastlane 插件:

fastlane add_plugin pgyer

注意:中途让你输入这里,输入y,就好了。

'/Users/daiweibao/Desktop/testSender/Gemfile' for you? (y/n)

然后这一步会等待很久

Installing plugin dependencies...

然后可能会让你输入电脑密码。

3、手动打开项目目录中fastlane/Fastfile文件配置信息:


default_platform(:ios)

platform :ios do
   desc "自动化打包"
#打包上传到蒲公英
  lane :beta do
   build_app(export_method: "ad-hoc",#打包证书选择
             scheme: "miniVideo",#选择打包项目的taregets
             export_xcargs: "-allowProvisioningUpdates"#自动更新证书,防止因为证书打包失败
             )
   pgyer(api_key: "05a7891363a5be71d6941b1eac92ba73", user_key:"cc9c1f41522f55ff2ba606d82a296ada", update_description: "修改bug后上传")
# 可选的值有:app-store、ad-hoc、development、enterprise。   打包命令cd到工程下再命令:fastlane beta
  end


#打包到AppStore的TestFlight
  lane:release do
    increment_build_number(xcodeproj: "miniVideo.xcodeproj")
    build_app(workspace: "miniVideo.xcworkspace", scheme: "miniVideo")
    upload_to_testflight
  end

end

4、打包并自动上传 App 到蒲公英(后续打包只用走这一步)

经过以上配置后,就可以使用 Fastlane 来打包 App,并自动上传到蒲公英了。在终端下,定位到项目所在目录,输入以下命令即可:

fastlane beta

注意:如果项目中有多个targets,接下来会让你选择需要打包哪一个:Select Scheme: 选择对应数字即可(必须选数字)。

终端出现: fastlane.tools finished successfully 代表上传到蒲公英成功了。如下图


image.png

最后附:Fastfile文件里的配置内容

default_platform(:iOS)

platform :iOS do

 desc "Description of what the lane does"

 lane :beta do

 build_app(export_method: "ad-hoc")

 pgyer(api_key: "05a7891363a5be71d6941b1eac92ba73", user_key:"cc9c1f41522f55ff2ba606d82a296ada", update_description: "修改bug后上传")
   end
end
注意:

配置对于多个taregets项目打包可以自动选择打哪一个,如:miniVideo, build_app(export_method: "development",scheme: "miniVideo")

如果证书报错,参考:https://docs.fastlane.tools/codesigning/xcode-project/#xcode-9-and-up

  1. 以上的 api_key 和 user_key,请开发者在自己账号下的 应用管理 - App概述 - API 中可以找到,并替换到以上相应的位置。
  2. 在 Xcode 8.3 和 Xcode 8.3 以后的版本中,对于 build_app 的 export_method 的值,需要根据开发者的打包类型进行设置,可选的值有:app-store、ad-hoc、development、enterprise。对于 Xcode 8.3 以下的版本,则不需要设置 export_method。

附加,终端报错处理:

报错:

Error: While executing gem ... (Gem::FilePermissionError)

You don't have write permissions for the /usr/bin directory.

顽固型无访问权限处理方式: -n /usr/local/bin

修改命令:按照图中绿色框修改


1.png

高级进阶(潮汐)
iOS-fastlane自动化打包到TestFlight进阶

你可能感兴趣的:(iOS利用Fastlane自动打包上传到蒲公英和TestFlight)