为什么需要对比 Ad Hoc 和 TestFlight?
iOS 应用在正式上架前,通常需要经过内部测试或外部测试。苹果提供了多种分发方式,其中 Ad Hoc 和 TestFlight 是两种常见选择。很多团队在初期会纠结:到底用哪种?其实它们的设计目标不同,适合的场景也不同。本文从设备上限、有效期、用户安装体验三个维度展开对比,帮你快速决策。
设备上限:Ad Hoc 有硬性数量限制
Ad Hoc 分发依赖于设备的 UDID(唯一设备标识符)。开发者需要将测试设备的 UDID 添加到苹果开发者账号中,然后重新生成描述文件并打包。每个开发者账号每年最多可以注册 100 台 iOS 设备(iPhone、iPad、iPod touch 合计)。这 100 台是全年累计,不能随意删除后立即补充,删除操作也有限制。因此,Ad Hoc 更适合小范围、固定的测试团队,比如公司内部员工或核心用户。
TestFlight 则没有这个硬性设备数量限制。它通过苹果的 TestFlight App 分发,测试者只需安装 TestFlight 并接受邀请即可。内部测试员最多 100 人(需为 App Store Connect 用户),外部测试员最多 10,000 人。虽然外部测试需要经过苹果的 Beta App Review,但一旦通过,就能覆盖大量用户。对于需要大规模公测的场景,TestFlight 明显更合适。
有效期:Ad Hoc 一年,TestFlight 90 天
Ad Hoc 分发的应用,其描述文件有效期通常为 一年(与开发者账号有效期一致)。只要描述文件不过期,应用就能一直运行。但需要注意,如果证书或描述文件被吊销,应用会立即无法打开。此外,每年续费开发者账号后,需要重新生成描述文件并重新打包分发,否则旧包会失效。
TestFlight 的构建版本有效期是 90 天。从上传构建版本开始计算,90 天后该版本将无法再安装或更新。这意味着你需要定期上传新版本,否则测试者会收到过期提示。对于迭代频繁的项目,90 天可能足够;但对于长期稳定的测试,就需要规划好版本更新节奏。
用户安装体验:Ad Hoc 步骤繁琐,TestFlight 更友好
Ad Hoc 的安装体验相对原始。用户需要先提供 UDID,开发者将其加入描述文件后重新打包,然后通过网页、邮件或第三方工具分发 IPA 文件。用户下载后,还需要在设置中信任企业证书(如果是企业签名)或通过 iTunes 安装。整个过程步骤多,容易出错,尤其对非技术用户不友好。
TestFlight 的安装体验则流畅很多。测试者收到邀请邮件后,点击链接安装 TestFlight App,然后在 App 内接受邀请,即可一键安装测试版应用。更新也会通过 TestFlight 自动推送。此外,TestFlight 支持反馈截图和崩溃日志,方便开发者收集问题。不过,TestFlight 需要经过苹果审核,首次提交可能等待几天,且审核标准与 App Store 类似,需要遵守相关指南。
如何选择?看场景
- 小范围内部测试、需要长期稳定运行:Ad Hoc 更合适,但注意设备数量限制和每年重新打包。
- 大规模公测、需要快速收集反馈:TestFlight 更合适,但注意 90 天有效期和审核要求。
- 需要绕过审核快速分发:Ad Hoc 或企业签名(但企业签名有滥用风险,苹果会封禁)。
如果你对签名分发还有疑问,可以查看我们的签名分发服务,或者参考TestFlight 分发指南了解更多细节。
总结
Ad Hoc 和 TestFlight 各有优劣。Ad Hoc 设备上限 100 台,有效期一年,安装体验繁琐;TestFlight 设备上限高(外部 10,000 人),有效期 90 天,安装体验流畅但需审核。选择时,请根据测试规模、周期和用户类型来决定。对于大多数面向外部用户的测试,TestFlight 是更现代的选择;而对于内部小团队,Ad Hoc 依然简单直接。