iOS TestFlight CI,自动化 Beta "waiting" 流程?

iOS TestFlight CI, automate the beta "waiting" process?

假设您上传了版本 1192...

等待一段时间后,您收到了邮件....

然后你才终于在 itunesconnect.apple.com 网站上看到以下...

然后您可以最后点击“将组添加到此版本”,最后点击“提交以供审核”。

我的问题:有没有办法自动等待 - 知道什么时候可以提交?

因此,

  1. 除了查看电子邮件之外,还有什么方法可以自动“知道它已完成处理”吗?例如,Apple 会发送有关 API 版本的信息吗?或者电子邮件实际上是唯一的了解方式?

  2. 如果没有,是否有任何现有系统劫持您的电子邮件或者轮询服务器/ API / 不管怎样,要知道什么时候“处理完成”?

再一次,这里的具体问题是...

  1. 有没有办法知道(api?消息?其他通信?)已经处理完毕?

  2. 如果没有,是否有现成的系统可以查看电子邮件/投票知道吗?

听起来 Fastlane's pilot action 是您需要的:

The best way to manage your TestFlight testers and builds from your terminal

根据文档,这可能会满足您的需要:生成您要提交的 ipa,然后在 iap 所在的目录中 运行:

 fastlane pilot upload

上传当前目录下的ipa,等待验证后分发给测试人员。还有其他用于添加或删除测试人员的命令,以及用于设置描述和内容的参数。您可以使用 fastlane action pilot

检查所有选项

Fastlane 可以处理所有事情,所以如果您愿意,您可以设置一个通道来构建应用程序并将其提交给 TestFlight,像这样 Fastfile(您必须根据项目的具体情况调整它需要):

  default_platform :ios

  platform :ios do

  desc "Submit a new Beta Build to Apple TestFlight"
  lane :beta do    
    #increment_build_number
    gym(scheme: "Your Scheme”) # Build your app - more options are available


    pilot # upload your app to TestFlight

    # You can do much more run `fastlane actions` to see all the actions
  end

只要你想要一个新版本,你可以 运行: fastlane beta.


编辑:他们如何等待?

使用 Spaceship 轮询 iTunes Connect(不好 API,他们在页面上进行网页抓取)并检查 - 每 X 秒循环一次 - 如果处理完成。

Fastlane 有一个更简单的操作,称为 watchbuild,它的唯一工作是在处理完成时发出通知。查看源代码以获取有关如何使用 Spacechip 的示例:https://github.com/fastlane/watchbuild/blob/master/lib/watchbuild/runner.rb

  1. 使用 fastlane 工具构建并上传到 ITC https://fastlane.tools

    • 您必须投入一些时间来学习文档并尝试示例 - 但这样做是有回报的!
    • fastlane pilot 操作默认等待 ITC 验证
    • fastlane pilot 操作有一个选项 distribute_external - 这也将使这个 TestFlight 构建可供外部测试人员使用,如果你需要
    • fastlane latest_testflight_build_number 操作可以帮助您自动增加 TestFlight 构建的构建号。
  2. 您可以将 fastlane 与您的 CI 一起使用,因为您只需要 运行 一个 bash 脚本启动 fastlane lane

  3. 您还可以使用此工具制作大量屏幕截图 - 如果我们谈论自动化