# TestFlight相关文档
目录
在 iTunes Connect 设置预发布版本应用测试的步骤
<a name="TestFlight">TestFlight是什么</a>
使用 TestFlight Beta Testing,将预发布版的 app 分发给测试者来收集反馈,做好发布到 App Store 的准备。
TestFlight Beta Testing 是可选的,还是可以直接提交 app 给 App Store 审核。
TestFlight 是免费的,容易使用,发布到 App Store 之前的改善工具。
TestFlight 目前仅支持 iOS 应用,一个开发者用户同时能够对 10 个 apps 启用 TestFlight Beta Testing。
<a name="iTunes_Connect">在 iTunes Connect 设置预发布版本应用测试的步骤</a>
- 如果是新应用则需要先创建。
- 生成新的 App Store Distribution profile。
- 上传 app 的二进制文件。
- 增加应用描述和针对此版本的测试内容。
- 发布应用给内部测试者。
- 从测试者中获取反馈。
- 处理这些反馈,提交新版本。
- 完成测试,提交应用到审核,或关闭测试。
<a name="problem">下面说说以上这些步骤操作的实践过程遇到的问题:</a>
- 直接使用发布证书打包,按平时提交 App Store 的步骤上传要发布的包即可。
- 给应用分配内部测试者的时候,必须是 iTunes Connect 用户,而且必须将 Internal Tester 开头打开才能在 Prerelease->Internal Tester 的 Testers 列表中看到。
- 必须至少有一个 Tester,打开 TestFlight Beta Testing 开关才会有效。
- 邀请会通过邮件发送,必须在 iOS 设备上操作,会自动打开 TestFlight 来下载安装测试的 app。
- Tester 的状态(”Status”)没有像文档中所说的当用户下载了 app,状态会变成 “Testing”。原文:”When they download the app, their status changes to Testing”。
- 在 TestFlight->Testers 的列表中,测试者的 Installed Devices 有时会变成空。从测试用户获取反馈这个也有问题,测试过程中崩溃的信息没有能够反馈到指定的 Feedback Email。
<a name="add_tester">测试人员的添加</a>
内部的测试人员
所谓内部,那就和iOS开发者账号相关的子账号,按照以下几个步骤添加内部测试员:
-
点击用户和职能。
1.png -
点击加号按钮
![Uploading 2_118347.png . . .] -
填写信息和AppleID。
3.png -
警告提示,不用管他,直接点击下一页。
-
选择职能,一般都选择技术,点击下一页,然后保存。
![Uploading 4_224933.png . . .] -
点击iTunes Connect 用户按钮右边的TestFlight 测试版本的测试者,勾选需要的内部用户的Apple用户,点击保存。
5.png -
回到你的App管理页面。
6.png -
选择你需要使用TestFlight来进行测试的App,点击预发行按钮。
7.png -
点击构建版本,看看是否有已经构建好的版本,我这里是1.0.3版本为最新构建版本,这里的详细步骤略过,上传App我就不再讲了。
-
然后点击内部测试员,勾选上你需要的内部测试员,点击邀请。
8.png
外部的测试人员
所谓外部,那就是和iOS开发者账号无关的Apple用户,这个非常简单,按照以下几个简单的步骤添加外部测试员:
- 只需要点击你需要使用TestFlight来进行测试的App,点击预发行按钮。
- 点击外部测试员选项,点击加号按钮。
- 填写必要的信息,点击添加按钮即可。
- 回到构建版本选项,点击提交以供Beta App审核按钮,走一下流程,等待吧!哈哈!
测试员操作流程
- 测试员会收到一封测试邀请邮件.
- 测试员先别急着打开邀请邮件,保证你手机上安装了TestFlight App。如果没有,请到App Store进行下载,名字叫TestFlight。
- 测试员打开邀请邮件,点击Open in TestFlight按钮,看中文提示,看页面的引导,你应该可以下载到测试版本的App。
TestFlight app简化了测试版应用的安装,减轻了开发者和测试者的负担,让他们无需担心UDID或者Provisioning Profiles。一旦测试者安装了beta 版app,TestFlight将会在每次有新版本更细时通知测试者,提供重点关注的说明,并为测试者提供简单的反馈方式。以下是 苹果列出的关于使用TestFlight app或者beta版app测试过程中的一些常见问题(PDF版本)
<a name="question">TestFlight疑问解答</a>
-
在什么设备上可以访问TestFlight?
TestFlight app适用于运行iOS 8的iPhone、iPad以及iPod touch。
-
我可以对Mac app进行beta测试吗?
不可以。TestFlight Beta Testing适用于iOS平台。
-
我可以使用多少台设备测试beta版应用程序?
你最多可以使用10台设备。
-
我可以成为多个开发者的beta测试用户吗?
可以,你可以测试多个来自不同开发者的应用程序。
-
有没有限制说我同时可以测试多少个app?
没有限制。
-
一款app的测试时间是多长?
从测试版发放给测试者那天起,持续时间为30天。在TestFlight app中,在“open”按钮下方,你会看到一个剩余天数的倒计时。
-
如果我收到测试邀请,但在30天内没有机会进行测试,会发生什么情况?
如果你收到beta版测试邀请,但没有在30天内安装,那么它将会移除你过期的app列表,直到开发者更新版本。
-
我怎么知道我的设备上哪个应用程序是beta版的?
Beta版应用程序的名称边上会有一个橘色的圆点。
-
如果我已经安装了这款应用程序,而开发者又给我发了一个新版本的beta版测试邀请,会怎样呢?
Beta版app将会取代当前的版本。
-
当应用程序有了一个新的beta版本,而我已经在进行beta测试了,那会怎样?
你将会从TestFlight app中收到一个更新提醒。
-
如果应用程序不能在我的设备上加载怎么办?
如果开发者邀请你进行beta版测试,而应用程序不能在设备上加载,那你应该联系邀请你的那位开发者。
-
我如何向开发者反馈测试情况?
在TestFlight app的App Details视图中点击Provide Feedback按钮,将会自动打开一封邮件,你可看到相关的app和设备细节,然后你就可以添加附加细节和截图。
-
如果一款应用程序包含IAP项目,我需要使用自己的iTunes支付购买吗?
不用。Beta版中的IAP项目是免费的。
-
测试时间过了怎么办?
测试阶段结束后,beta版app就不再有效,如果你想继续使用应用程序,可到App Store下载或者购买。注意,beta版中任何IAP项目在beta版环境中是免费的。如果你从App Store中更新了最终版本,那么你将需要使用自己的iTunes支付方法进行应用内购买。
-
如果从设备上移除beta版应用程序?
你可以像删除正式版app一样删除beta版应用程序,点击app的icon,屏幕上的app会轻轻抖动,点击“X”符号,就可以删除beta 版应用程序了。
-
我可以拒绝测试beta版应用程序吗?
如果你不点击接收邀请邮件,那么你将不会安装beta版app,自然也不会进行beta版测试了。另外,你可以在邀请邮件中取消订阅,系统将会通知开发者将你从测试者列表中移除。最后,如果你曾通过了邀请,但不再想测试beta版应用程序,那么你可以在TestFlight app的App Details页面将自己从beta计划中删除。
<a name="comments">备注:</a>
- TestFlight支持25名内部测试者和1000名外部测试者。
- TestFlight支持在同一账号下,同时可以对10个不同的应用进行测试。
- 开发者必须要在iTunesConnect中创建被测试应用的记录,包括一些元数据信息,比如要测试什么内容、被测试应用的描述以及测试结果的反馈邮箱地址。这些元数据信息只是针对外部测试者使用的。
- 当上传应用时,开发者必须使用带有公测权限的App Store描述文件,才能通过TestFlight分发版本。
- 外部测试者和开发者不必来自相同组织。任何用户都可以通过邮件被邀请成为测试者。
- 内部测试者必须是开发者账号的成员,并担任Admin、Legal或Technical角色。
- 一个应用必须要通过公测版应用审查后才能邀请外部测试者进行测试。
- 一个测试版本在发送测试者邀请后的30天内有效。
- 如果希望在30天有效期过后继续进行测试,那么必须要提交新的测试版本。
- 内部测试者可以立即使用新的测试版本。
- 只有当新的测试版本再次通过审核并许可后,外部测试者才能使用,除非开发者提交的新测试版本声明没有“重大修改”,才能立即使用。
- 一个应用同一时间最多只能有一个预发布版本通过TestFlight进行测试。
- 如果想要使用一个应用较老版本的测试版,就必须先要禁止使用当前的版本,然后手动启用较老的版本。
- 旧版的TestFlight服务仍然允许现有的测试者进行测试,但不再支持注册新的测试者。