在2014年的苹果全球开发者大会上,苹果宣布他们把TestFlight集成进了iOS 8的开发套件中。这样做的目标是,让开发人员多了一种安装Beta测试程序的方法,并使整个过程更加容易,iOS应用在发布以前很难去测试它,这一问题被开发人员诟病已久,这次苹果总算是兑现了承诺,解决了这个问题的。
  苹果二月份收购了TestFlight的母公司Burstly,几个月之后宣布了以上消息。本次收购初的一些影响是,TestFlight终止了对Android的支持,并中止了对TestFlight iOS SDK的支持,允许收集用户的使用行为分析数据。目前,TestFlight已经和一些新特性集成进了iTunes Connect。
  简单地说,全新的TestFlight Beta测试会给我们带来:
  更容易募集beta测试人员
  在App Store之外安装应用时要遵循这样的基本机制,那是需要将每台设备标识符(UDID)添加到要安装应用的开发人员账号上,然后生成一个包含所有信息的配置文件。
  在新版的TestFlight中,我们不再需要UDID了,只需要把他们的Apple ID 用邮件发给测试人员,那么这些测试人员可以加为beta程序的新的测试人员了。这些测试人员可以在任何他们自己的设备上安装这款应用。
  更庞大的测试人群
  长期以来iOS开发人员一直在诟病这样一个问题:每个开发人员账号可以添加的UDID越来越少,限制了可以参与测试的用户的数量。从现在开始,开发人员可以为他们的应用添加多达1000名的测试人员了。
  除此以外,开发人员还可以拥有多25位内部测试人员,这些测试人员必须要有iTunes Connect账号,他们会得到访问这款应用新版本的授权。
  符号化的崩溃报告
  很久以前苹果为iTunes Connect上的开发人员提供了这项崩溃报告的功能。但是由于某些因素,这个功能始终都无法让开发人员完全满意。引入TestFlight后将要改善这种情况,开发人员将能查看他们累积的崩溃日志,但这个功能要到明年晚些时候才能使用。此外,崩溃日志显示时会自动地符号化。

  使用这些新功能有几点注意事项
  第一点并且重要的一点是,一个应用在开放给beta测试人员前,必须先通过一个审核流程。这对于一些开发人员来说是个问题:Ole Begemann提到,长达几天的审核时间无益于创建“一个高效的beta版本发布流程”。苹果好像也意识到了这对开发人员来说是个潜在的问题,他们已经考虑了一项更宽松的政策,允许“无需苹果审核可以给beta测试人员发布更新版本,除非这个更新版本包含重大修改”。如果更新版本包含了重大修改,开发人员必须“通过iTunes Connect通知苹果,申请重新审核他们的应用”。
  还有一点要引起注意,那是测试人员只能拿到应用新的版本。Nick Arnott为iMore网站写了篇文章,他注意到在苹果的演示视频中,除了新的版本,其他版本都标记为“未激活”状态了。目前尚不清楚Beta测试人员是否能拿到老版本,很多人恐怕都难以接受这个问题,因为beta测试人员如果遇到了致命的问题,他们可能会需要回退到老版本。
  后一点是,我们必须注意现在发布的TestFlight只支持iOS 8了,所以开发人员如果还是想支持老版本的iOS或Android,那么不能用TestFlight了。他们有两个其他的选择,HockeyApp和Crashlytics。