You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS TestFlight CI自动化:如何自动获知构建处理完成状态?

自动监控App Store Connect构建处理状态的方案

针对你的问题,我整理了几种可行的方案,从官方原生能力到现成工具都覆盖到了:

一、官方原生方案:App Store Connect API & Webhooks

这是最可靠的方式,完全基于苹果官方提供的能力:

  • Webhooks(首推):你可以在App Store Connect里配置Webhook,订阅build相关的事件(比如构建处理完成、状态变更)。当构建处理完成时,苹果会主动向你指定的服务器发送HTTP请求,无需手动轮询。配置路径是App Store Connect的「用户和访问权限」→「Webhooks」,选择事件类型为「Builds」即可。
  • API轮询:如果Webhook不适合你的场景,可调用App Store Connect API的GET /v1/builds/{buildId}接口,查询构建的processingState字段。常见状态值包括:
    • PROCESSING:构建正在处理中
    • VALID:处理完成且有效
    • FAILED:处理失败
      你可以用Python的appstoreconnect库、Ruby的spaceship库编写简单脚本,定期轮询这个接口,直到状态变为非PROCESSING。

二、现成工具/服务

如果不想自己开发,这些现成工具可以直接帮你实现监控:

  • Fastlane:作为iOS开发常用的自动化工具,Fastlane的spaceship模块能直接和App Store Connect API交互。你可以写一个简单的Fastlane lane,自动轮询构建状态直到处理完成,示例代码大概是这样:
    lane :wait_for_build do
      build = Spaceship::ConnectAPI::Build.find("your-build-id")
      until build.processing_state != "PROCESSING"
        puts "Build still processing..."
        sleep 60
        build.reload
      end
      puts "Build processing done! State: #{build.processing_state}"
    end
    
  • CI/CD平台:Bitrise、GitHub Actions、GitLab CI这类平台都有现成的App Store Connect集成插件,可以配置步骤等待构建处理完成后,自动执行后续操作(比如添加测试组、提交审核)。
  • 低代码自动化工具:如果想用监控邮件的方式,Zapier、Make(原Integromat)可以设置邮件触发器,当收到苹果发送的「构建处理完成」邮件时,自动触发后续动作。不过这种方式不如API可靠,邮件可能延迟或被邮箱过滤。

三、开源脚本/工具

GitHub上有不少开源项目可以直接复用:

  • 基于Python的appstoreconnect-cli,可以通过命令行查询构建状态,你可以封装成定时任务来监控。
  • 一些专门的构建状态监控脚本,只需配置构建ID和轮询间隔就能运行。

总的来说,优先推荐用App Store Connect的Webhooks或者API轮询,这两种方式最稳定可靠;如果不想自己开发,Fastlane或者CI/CD平台的集成是最便捷的选择。

内容的提问来源于stack exchange,提问作者Fattie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:06:01