先分清:卡的是构建还是外部测试
很多团队把“邀请发不出去”统称为卡审核,但在 App Store Connect 里,这两件事走的流程并不一样。第一类是构建版本本身没有通过审核,外部测试入口根本不可用;第二类是构建已可用,但外部测试信息(测试说明、联系方式、隐私问卷等)被退回。排查时先看被退回的对象是构建还是测试信息,能省掉大量猜测。
外部测试与内部测试的差别在于,外部测试员不在你的团队账号里,苹果需要对测试内容和邀请方式做一轮检查。所以提交前应把“构建可安装”和“测试信息完整”当成两个独立任务分别确认。
构建上传环节的常见卡点
- 版本号与构建号冲突。同一版本号下重复使用构建号会被直接拒绝,上传前确认构建号单调递增。
- 缺少合规声明。涉及加密算法的应用需要在上传后回答出口合规问题,未回答时构建会停在处理中。
- 签名与描述文件不匹配。用错证书或描述文件会导致上传成功但无法分发,建议在归档阶段就核对 Bundle ID 与团队信息。
- 处理时间被误判为卡住。构建上传后通常需要一段处理时间,期间状态显示为“正在处理”,此时提交外部测试没有意义。
如果构建反复处理失败,优先检查依赖库、资源文件和 Info.plist 的必填项,而不是反复重传。关于签名与分发方式的差异,可参考站内对 iOS 分发与签名服务 的说明,先确认当前阶段该用哪种分发通道。
测试信息怎么写才不容易被退回
外部测试需要填写测试说明(Beta App Description)、测试反馈方式、联系邮箱等。被退回的高频原因不是内容太长,而是信息与构建实际行为对不上。
- 测试说明要写清测什么。“测试新版本”这类描述没有信息量,应写明本次测试的功能范围、需要测试员重点验证的路径。
- 提供可用的反馈渠道。邮箱或反馈入口必须真实可达,填一个无人维护的地址容易被判定为信息不完整。
- 登录信息要能复现。如果应用需要账号,需提供测试账号或说明注册方式,否则审核方无法进入核心功能。
- 避免出现未上线的承诺。测试说明里不要写与实际构建不符的功能,也不要出现外部下载渠道或绕过商店的引导。
隐私问卷是最容易被忽略的一环
隐私问卷(App Privacy)与构建审核是两条线,但外部测试提交时经常因为问卷与实际情况不一致被退回。自查重点有三个:一是问卷声明的数据收集项是否覆盖了实际接入的第三方 SDK;二是是否声明了用于追踪的标识符;三是问卷更新后是否重新提交。很多团队在接入新 SDK 后只改了代码,没有同步问卷,结果在外部测试阶段被拦下。
建议把隐私问卷纳入发版检查表,与构建上传放在同一轮确认,而不是等被退回再补。
邀请方式与测试员管理
外部测试支持邮箱邀请和公开链接两种方式。邮箱邀请适合小范围定向测试,公开链接适合较大规模投放,但公开链接意味着任何人拿到链接都能加入,测试人数上限也需要提前规划。邀请发出后,测试员需要在设备上安装 TestFlight 并接受邀请,运营侧应准备好图文指引,减少“收不到邀请”的沟通成本。
另外,测试员设备上的旧版本、系统版本过低、地区限制等,也会表现为“装了但打不开”,这类问题不属于审核范畴,需要单独排查。分发通道如何选择,可结合 分发方案说明 一起评估。
提交前的自查清单
- 构建号唯一且已处理完成,状态可用。
- 出口合规问题已回答。
- 测试说明写清功能范围与验证路径。
- 测试账号、反馈邮箱真实可用。
- 隐私问卷与实际接入的 SDK 一致,并已重新提交。
- 测试员人数与邀请方式已规划,公开链接的使用范围有预期。
把上述环节拆成构建、信息、问卷三段分别确认,比一次性提交后等待结果更省时间。卡审核多数不是单点问题,而是几处小遗漏叠加,逐项核对通常能明显降低退回次数。