你四天前提交了 TestFlight 外部测试 build。内部测试员立即能装,外部测试员看到 “This build is not yet available”。App Store Connect 的 TestFlight 标签里 group 下的 build 状态显示 Waiting for Review。最近几次 Beta 审核 24 小时就过;这次到了 96 小时。审核员没消息、没拒、没邮件——一片寂静。你开始想是不是该重传、找客服、还是再等。
Beta App Review 没有公开 SLA。Apple 只承诺 “通常比 App Store 审核快”,没给具体数字。实际情况:Beta 审核多数 1-2 天清掉,但高峰窗口或 build 触发启发式时会拖到 4-7 天。你能做的不多——Beta 没加急通道——所以策略是先确认不是因为你没回应的问题,再在等和升级之间选。
常见原因
按命中率排序。
1. 新 App 第一次外部 Beta 审核
新 App 的第一个外部 build 要走额外环节:开发者历史、业务核验、内容审查。v1.0 比你团队后续 Beta 周转慢 2-3 倍。同 App 之后的 build 快得多。
如何判断:看这是不是你这个 App(不是这一版)历史上第一次 Beta 审核提交。是的话预期更久。
2. Apple 高峰窗口
WWDC 周(6 月初)、11 月底到 12 月(节日 gating)、新 iOS major 发布后几天,Beta 审核延迟集中。Apple 审核员池就是同一池子,这些窗口被占用。
如何判断:查社区(r/iOSProgramming、Apple Developer Forums)。同窗口其他开发者也报告 4-7 天 Beta 审核就是系统性问题。
3. Build 触发启发式
加 entitlement(HealthKit、ContactsAccess、push)、新 auth、新 IAP、敏感类目变化,都拉长 Beta 审核。系统标记 build 给人工细看。
如何判断:把你 entitlement、IAP 配置、capabilities 和上一个快速通过的 Beta build diff。新增任意一项就预期更慢。
4. 审核员需要你没提供的信息
Beta App Review 表有 “What to Test” 备注。如果 build 有需要预置的非显然功能,你没解释怎么测,审核员可能停下来找指引。
如何判断:读你的 Beta “What to Test”。如果写的是 “Bug fixes and improvements” 而你实际加了一个新有门控的功能,就要补细节。
5. Build 已经过了 Beta 审核 UI 还没刷新
部分 Beta 审核在系统里已完成但 UI 滞后几小时刷新。Build 已批准,TestFlight 标签里还显示 Waiting。
如何判断:硬刷新 App Store Connect(Cmd+Shift+R)。看 Activity → All Builds 状态切换时间戳。
6. Apple 系统状态故障
少见但真实:TestFlight 或 App Store Connect 故障会静默卡 Beta 审核。Apple 系统状态页 有时滞后 30+ 分钟才标记事故。
如何判断:查 Apple 系统状态页 + 开发者 Twitter / forums 过去 48 小时 “TestFlight” 或 “Beta Review” 提及。
动手前先确认
- 确认 Resolution Center 没有未回应的问题;Apple 在等你时队列时钟停。
- 决定延迟是否实质影响测试计划;内部测试员(最多 100 人,不用 Beta 审核)通常能解锁多数测试。
- 改 build 前先备份当前 Beta 配置文件、What to Test 文本。
- 弄清问题是单次延迟还是这个 App 的所有 Beta 都慢——后者可能是账号级问题。
需要收集的信息
- App Store Connect → Activity 里精确的上传时间戳。
- Build 当前状态及 “Waiting for Review” 持续时长。
- Beta “What to Test” 文本。
- 这是不是该 App 历史上第一次外部 Beta 审核。
- 自上次通过 build 起新增的 entitlement、IAP、capabilities。
最短修复路径
Step 1:核对 build 的 Beta 审核状态
App Store Connect → TestFlight → External Testing → 你的 group:
- 状态:应是 “Waiting for Beta App Review”(或一旦开始审就切 “In Review”)。
- “What to Test” 文本:必须有且有信息量。
- Build 90 天后过期(Beta 硬有效期)。
状态是 “Missing Compliance” 之类的就先修那个(队列暂停)。
Step 2:检查 Resolution Center
App Store Connect → Resolution Center 看你 App 的 thread。Apple 偶尔发 Beta 专属问题不触发邮件。有未回的就回。
Step 3:用内部测试解锁紧急需求
内部测试员(团队最多 100 人)不用 Beta App Review。处理完成后立即可装。把关键测试员加进内部 group,外部审核 pending 时测试不被堵。
App Store Connect → TestFlight → Internal Testing → Add tester。用户必须是 Apple Developer Program 团队成员。
Step 4:按窗口等待
| 提交日 | 中位等待 | 联系 Apple 前等多久 |
|---|---|---|
| 周一-周三 | 24h | 3 个工作日 |
| 周四-周五 | 24-48h | 下周二 |
| 高峰周 | 3-5 天 | 7 个工作日 |
| 首次 Beta | 2-4 天 | 5 个工作日 |
不改内容重交多半重排队,不插队。
Step 5:等够窗口后联系 Apple
用 Contact App Review → 选 “Status update on TestFlight”:
TestFlight build awaiting Beta App Review
App: Acme Studio
Build: 2.7 (47)
Submitted: 2026-05-15 14:32 PT
Current status: Waiting for Beta App Review (5 business days)
Could you confirm whether this Beta submission has been routed?
This is an external test cycle critical for [specific reason].
Thank you.
Beta 没有 Expedited Review;不要从 Beta 队列申请加急。
Step 6:为下次改进 “What to Test”
Beta 备注应该和 App Review notes 同结构:demo 凭证、新功能走查、地区说明、联系方式。审核员能从你的备注里自己回答问题,过审就更快。
怎么确认已经修好
- 联系 Apple 后几小时内、或自然窗口内状态从 “Waiting for Beta App Review” 切到 “Ready to Test”。
- 外部测试员能通过 TestFlight App 装上 build。
- App Store Connect → Activity 日志显示状态切换。
- 邮件确认 Beta 审核结果。
如果还是没修好
- 回复你的 Contact App Review thread 附原工单号;不要新开 thread。
- 通过 Apple Developer System Status 确认没有当前 TestFlight 事故。
- 重传一个真的更新(bug 修复或小功能)——Apple 有时优先新 Beta 提交而不是同 build 号重传。
- 考虑你 build 的风险画像(新 entitlement、新 IAP、敏感类目)是不是系统性原因,下次发版要不要拆开。
预防建议
- 新 App 第一个 build 提早提,外部测试窗口前留 5 个工作日缓冲。
- 仓库里维护 “What to Test” 模板,每次外部 Beta 提交从这里抄。
- 风险改动(新 entitlement、IAP、auth)按发版拆开,单次 Beta 审核更快。
- 关键测试员同时加进 Internal Testing group 做后备;内部测试不用 Beta 审核。
- 别让 Beta 提交撞上高峰窗口(WWDC 周、12 月节日)。