TestFlight:是什么、设置和测试工作

作者: IT Sectr 发布日期: 2026-06-06 阅读时间: 7 分钟

TestFlight — Apple官方平台,用于在测试人员之间分发应用程序的预发布版本。允许开发人员将Beta版本上传到App Store Connect,管理访问权限并在发布前收集反馈。根据Apple Developer Documentation,TestFlight通过公共链接支持多达10,000名外部测试人员,通过Apple ID支持多达100名内部测试人员。

要点

  • TestFlight — Apple用于iOS、iPadOS、macOS、tvOS和watchOS应用程序Beta测试的官方工具
  • 内部测试允许通过Apple ID添加最多100名参与者,无需版本审核
  • 外部测试通过公共链接支持最多10,000名参与者,需经过Beta App Review强制检查
  • 版本管理包括测试人员分组、收集Apple的指标和崩溃日志
  • 从TestFlight发布无需重新构建 — 已批准的Beta版本一键发送到App Store

什么是TestFlight?

TestFlight — 集成在App Store Connect中的Beta测试平台,用于在App Store发布前分发应用程序的预发布版本。开发人员上传通过Xcode归档的版本,并在测试人员之间分发,无需手动分发IPA文件。

Apple于2014年收购TestFlight,以取代通过Provisioning Profiles进行的Ad Hoc分发。此前,开发人员需要收集设备的UDID、创建provisioning profile并通过第三方服务分发IPA。TestFlight自动化了整个流程:测试人员通过TestFlight App安装Beta应用程序,开发人员通过Web界面管理访问权限。

根据WWDC 2024,TestFlight每月处理超过200万次测试安装。该平台支持在所有Apple平台上分发,包括iOS、iPadOS、macOS、tvOS、watchOS和visionOS,使其成为Apple生态系统中唯一的统一Beta测试工具。

内部和外部测试

TestFlight将测试分为两种类型:Internal Testing面向团队成员(最多100名参与者,上传后立即可用)和External Testing面向外部用户(最多10,000名参与者,需要Beta App Review检查)。内部测试无需审核,非常适合在团队内快速检查版本。

External Testing允许通过电子邮件或公共链接邀请测试人员。通过Beta App Review后,版本可供所有受邀者下载。对于首次发布的应用程序,根据App Store Review Guidelines规则,External Testing是强制性的。

TestFlight如何工作:主要场景

TestFlight的工作流程从在Xcode中归档应用程序并通过Organizer或Transporter上传到App Store Connect开始。上传后,版本会经过自动有效性检查和安全性扫描。

内部测试人员通过TestFlight App收到可用版本的通知。他们可以安装应用程序并通过内置的截图和文本评论界面留下反馈。外部测试人员需要Beta App Review批准,之后版本像内部版本一样分发。

TestFlight自动收集使用指标:安装次数、崩溃日志、带注释的截图和反馈。开发人员在App Store Connect的TestFlight部分中看到这些数据。所有数据按版本聚合,便于比较不同版本的稳定性。

版本有效期

每个上传到TestFlight的版本都有90天的有效期。到期后,测试人员无法再安装或运行应用程序。要继续测试,需要上传具有更高版本号的新版本。此限制鼓励开发人员定期更新版本。

在到期日临近时,TestFlight会向开发人员和测试人员发送通知。如果新版本未及时上传,测试将中断,参与者将失去对应用程序的访问权限,直到新版本出现。

在App Store Connect中设置TestFlight

TestFlight的设置从App Store Connect的TestFlight部分开始。启动需要至少一个已上传的应用程序版本。界面分为三个主要部分:版本、内部测试人员和外部组。

内部测试人员通过Apple ID添加。每个参与者必须通过App Store Connect以包含测试访问权限的角色邀请。邀请后,测试人员会收到电子邮件并可以通过设备上的TestFlight App安装应用程序。

对于外部测试,创建按场景组合测试人员的组。每个组绑定到特定版本。组可以有用于独立加入的公共链接 — 这对于开源项目或大规模Beta测试很方便。根据Apple Developer Documentation,公共链接可以随时撤销,已加入的测试人员不会失去访问权限。

上传版本到TestFlight

上传版本到TestFlight通过项目归档后的Xcode Organizer完成。上传需要在Apple Developer Program中具有App Store Connect的Admin或App Manager权限的帐户。

上传前,版本必须使用有效的Distribution Certificate签名并包含具有App Store分发的Provisioning Profile。当开发人员帐户激活时,Xcode通过Automatic Signing自动配置签名。

bash
# 通过xcrun altool上传(Xcode 15+使用notarytool)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait

# 直接上传到App Store Connect
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"

上传后,版本经过自动检查:二进制文件验证、恶意代码扫描、App Store Review Guidelines合规性检查。通常检查需要几分钟到一小时。状态显示在App Store Connect的TestFlight部分中。

通过CI/CD自动上传

对于CI/CD(GitHub Actions、Bitrise、Jenkins),使用xcrun altoolnotarytool直接上传版本,无需Xcode。认证密钥存储在Keychain或App Store Connect API中。Fastlane提供upload_to_testflight操作以实现流程的完全自动化。

邀请测试人员:内部和外部

邀请测试人员到TestFlight取决于测试类型。内部测试人员直接在App Store Connect中通过Apple ID添加,上传后立即获得对所有版本的访问权限。外部测试人员通过指定特定版本的组进行邀请。

对于外部测试,需要通过Beta App Review — 检查基本功能和合规性的简化版App Review。第一个外部版本通常需要1-2天通过检查,后续版本更快。批准后,组中的所有测试人员都会收到通知。

公共链接简化了邀请:开发人员在网站或社交媒体上发布链接,用户点击后自动加入测试。TestFlight每个外部组支持最多10,000名参与者,组数不限。每个应用程序可以配置多个具有不同版本的组。

处理反馈

测试人员通过TestFlight App发送反馈,附上截图和注释。开发人员在App Store Connect中按版本分组查看所有反馈。每条反馈包含操作系统版本、设备型号和时间戳,便于重现和修复错误。

测试后发布

TestFlight在App Store发布应用程序无需重新构建。只需在App Store Connect中选择已批准的Beta版本并点击Submit for Review。经过Beta测试的同一版本无需重新编译即可发送到最终App Review。

这确保参与者测试的确切版本进入生产环境,消除了Beta版本和发布版本之间差异的风险。通过最终App Review后,版本根据设置的Availability规则自动在App Store中发布。

发布前,开发人员必须更新元数据:版本描述、新操作系统版本的截图以及更改信息。未发送到App Store的TestFlight版本在上传后90天自动删除,包括所有测试数据。

常见问题

TestFlight中的版本检查需要多长时间?

自动检查通常需要5分钟到一小时。外部测试的Beta App Review — 几小时到2天。对于重复版本,检查更快,因为Apple会考虑以前审核的历史记录。

没有Apple Developer Program可以使用TestFlight吗?

TestFlight仅适用于Apple Developer Program参与者(每年99美元)。没有订阅,无法将版本上传到App Store Connect。没有订阅的Ad Hoc分发需要Enterprise帐户或SideStore。

TestFlight和Ad Hoc分发有什么区别?

Ad Hoc需要收集设备UDID、创建Provisioning Profile和手动分发IPA。TestFlight自动化了整个流程:开发人员上传版本,测试人员通过TestFlight App安装,无需provisioning profiles和UDID。

TestFlight中的版本有效期多长?

版本在TestFlight中的生命周期为从上传起90天。到期后,测试人员无法安装或运行应用程序。要延长测试,需要上传具有更高版本号的新版本。

TestFlight支持macOS应用程序吗?

TestFlight从macOS 11 Big Sur开始支持macOS应用程序。测试人员通过Mac上的TestFlight App安装Beta版本。上传和管理过程与iOS版本没有区别:在Xcode中归档,通过Organizer上传。

总结

  • TestFlight — Apple官方Beta测试平台,与App Store Connect和Xcode集成
  • 内部测试(最多100名参与者)上传版本后立即可用,无需审核
  • 外部测试(最多10,000名参与者)需要Beta App Review并支持公共链接
  • 版本上传通过Xcode Organizer、xcrun altool或CI/CD自动化完成
  • 反馈和指标自动收集,包括崩溃日志和带注释的截图
  • 发布在App Store中从已批准的Beta版本完成,无需重新编译
  • 建议将所有预发布版本使用TestFlight作为唯一的官方Apple基础设施

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读