TestFlight 硬限制速查:100 / 10000 / 100 / 90 天
TestFlight 的硬限制
TestFlight 好用,但它不是无限的免费蛋糕。下面这些数字是 Apple 白纸黑字写死的,任何开发者都绕不开。规划你的测试策略之前先把这些数字记下来。
名额限制
| 限制项 | 上限 | 说明 |
|---|---|---|
| 同时 Beta 的 App 数 | 100 | App Store Connect 账户里同时处于 TestFlight 状态的 App 最多 100 个 |
| 内部测试者 | 100 人 | App Store Connect 里持有五种角色的团队成员,按人头不按设备 |
| 外部测试者 | 10,000 人 | 所有外部测试组合计,按人头不按设备 |
| 每个 App 可上传的构建版本 | 最多 100 个在 TestFlight | 超出时需要手动过期旧构建 |
| 测试者最多安装的设备 | 30 台 | 单个 Apple ID 同时测试 Beta App 的设备数上限 |
| 每个构建有效期 | 90 天 | 自上传日期起算,过期后设备上的 Beta App 无法打开 |
内部测试者的角色要求
内部测试者不能是任意团队成员——必须持有 App Store Connect 中以下五种角色之一:
- Account Holder(账户持有人)
- Admin(管理员)
- App Manager(App 管理员)
- Developer(开发者)
- Marketing(市场人员)
另外一个重要细节:Managed Apple ID 不能作为测试者——这是 Apple Business Manager / Apple School Manager 里由企业集中管理的 Apple ID,TestFlight 目前不支持这类账号参与 Beta 测试。
构建过期
每个构建版本自上传之日起有 90 天的测试期。90 天后:
- 测试者设备上的 Beta App 会自动变成不可打开的状态(图标点击后提示「测试期已结束」)。
- 开发者可以在 App Store Connect 里手动提前过期某个构建。
- 想要继续测试?简单——上传一个新的构建版本就行,有效期重新算 90 天。
外部测试首构建审核
外部测试和内部测试最大的区别在于 App Review:
- 内部测试:不需要任何审核。上传构建 → 加进内部组 → 几分钟后组内成员就能看到邀请。
- 外部测试:第一个外部构建必须过 TestFlight 审核。审核标准比 App Store 正式上架宽松很多,但仍然要检查 App 是否存在崩溃、描述是否准确、有没有明显违规。审核通常 1~3 天。过了首构建之后,同版本号的后续构建可以自动推给外部测试组,不需要再走审核流程。
其他你可能遇到的限制
- 订阅测试加速:TestFlight 环境下,付费订阅每天续期一次,一周最多续 6 次。不管你订阅设置的是月度还是年度,在 TestFlight 里都按这个频率跑。
- 内购不延用:测试期内所有 App 内购买项目免费,但是测试期结束后这些内购记录不会自动转移到 App Store 正式版。
- 公开链接的隐私边界:通过公开链接接受邀请的测试者,开发者看不到他们的姓名和邮箱——只能看到设备数、安装日期、使用次数、崩溃次数等统计数据。如果测试者是通过邮件邀请进来的,开发者可以看到邮箱。
- 导出合规:App 如果使用了加密(包括简单的 HTTPS),上传到 App Store Connect 时需要填写加密合规自声明(Export Compliance)。大多数 App 勾「Yes, use encryption」然后选「App uses standard encryption」就过了,不需要额外提交。