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

如何通过Appstore Connect API查找Build Bundles ID

获取Build Bundles资源ID的方法及fastlane实现方案

Build Bundles ID获取方式

buildBundles/{id}路径里的ID是App Store Connect API生成的不透明资源ID,没法在App Store Connect网页后台直接看到,必须通过API走关联链路查询拿到,常规查询路径如下:

  • 首先你得拿到目标构建版本(Build)对应的资源ID:这个ID是你上传构建、查询构建列表时返回的Build资源唯一标识,比如上传完安装包后API返回的构建ID、查App版本关联构建列表时拿到的条目ID都属于这类。
  • 拿到Build ID后,直接调用Build关联的Build Bundles查询接口,请求格式为GET https://api.appstoreconnect.apple.com/v1/builds/{buildId}/buildBundles,返回的资源列表里每个条目的id字段,就是你要找的Build Bundles ID。

注意:单个Build可能对应多个Build Bundle条目,比如主应用包、应用扩展包、Watch独立包都会生成单独的Build Bundle记录,每个记录有专属ID,查文件大小的时候注意匹配你要的包类型,别拿错ID查到扩展包的大小。

  • 如果你连对应Build的ID都没有,可以从最上层资源逐级往下查:先查你的App对应的资源ID,再查App下的正式发布版本/TestFlight测试版本列表,再查每个版本关联的Build列表,拿到Build ID之后再按上面的步骤拉取Build Bundles ID就行。

对应的fastlane实现

不用自己手写请求签名、拼HTTP逻辑,fastlane原生就支持相关操作,常用方案有三种:

  • 用app_store_connect_api通用动作:如果你已经有目标Build ID,先调用这个动作传入api_path: "builds/#{target_build_id}/buildBundles",拿到返回结果里的Build Bundles ID列表,再传入api_path: "buildBundles/#{target_bundle_id}/buildBundleFileSizes"就能直接拿到对应包的全量文件大小数据。
  • 搭配上传流程直接获取:如果你是用fastlane的pilot动作上传TestFlight包,动作跑完之后会直接返回当前上传构建的完整资源信息,里面已经带了关联的所有Build Bundles条目和对应ID,直接提取用就行,不用额外发查询请求。
  • 用底层Spaceship封装做定制化查询:如果需要写更灵活的逻辑,可以直接调用fastlane内置的Spaceship能力——也就是fastlane对接App Store Connect的底层封装库,执行Spaceship::ConnectAPI::Build.get(target_build_id).get_build_bundles就能拿到该构建下所有Build Bundle的实例对象,对象的id属性就是需要的资源ID,直接调用实例的get_build_bundle_file_sizes方法就能直接拿到分设备类型、分下载/安装场景的大小数据,连手动拼接口路径都省了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 10:27:41