前言
在iOS 8中,苹果发布了一个叫做TestFlight的新玩意,用于将Beta测试流水化。此前你可能听说过这个东西,因为TestFlight作为一个独立的测试平台已经有些年头了。不过在今年二月份的时候TestFlight的开发商Burstly被苹果收购,于是在之后公开发行的Xcode 6和iOS 8上,你会发现TestFlight整合进了iTunes Connect,你可以通过电子邮件来邀请你的Beta测试成员。
TestFlight 提供的管理办法是将测试者分为内部成员和外部成员。理论上说,这两种测试者都可以在测试阶段使用你的App,不过所谓的内部主要是指 iTunes Connect 上在你的开发团队里参与技术开发或者管理的成员。你最多可以邀请25个内部成员,而与之相对的外部成员,自然就是指那些不属于你的团队或者公司的测试者,外部测试人员的上限是2000人。这里有一点需要注意的是,在你邀请外部成员参与测试之前,需要先通过苹果的审核。而这一限制在内部成员上就没有,也就是说一旦你把你的App 上传到 iTunes Connect 上之后内部成员就可以开始进行测试了,无需审核。
准备工作
- 待测试的 ipa 包(用Application Loader上传)或者是 xcarchive (用Xcode Upload to App Store)文件(需要上传到 iTunes Connect );
- 到 App Store 下载安装软件 TestFlight;
步骤
- 将打包好的 ipa 或 xcarchive 文件上传到 iTunes Connect;
- 登录到 iTunes Connect 进入我的APP,选择你的APP;
- 到 TestFlight 模块下,如果 App Store 有提交过的版本,内部测试员就可以了,我们只需要添加内部测试员用户即可,如图:
- 添加内部测试员(即添加iTunes Connect 用户),如图:
- 接下来坐等收邮件,就是刚刚添加的那个用户邮箱,会收到邮件,如图:
- 点击 View in TestFlight 获取邀请码,如图:
- 接下来打开之前下载的 TestFlight 软件,输入邀请码即可,接下来就可以安装之前构建的版本和 App Store 的历史版本。(每个版本都有90天的有效期,时间是从你的构建版本上传到 iTunes Connect 算起)
注意: 每一个邀请码对应一个 Apple ID ,在 TestFlight 软件中无需收输入Apple ID(其实也没法输入),它会自动获取当前设备登录的 Apple ID ,如果此邀请码已经被激活(就是已绑定 Apple ID ),则无法在不同的 Apple ID 下使用了(如果多台设备都登录的是已绑定的 Apple ID 则不会出现此问题)。不过还有一种方法就是在不同的设备登录邀请码绑定的 Apple ID ,这样直接打开 TestFlight 都不需要输入邀请码即可下载安装测试软件。
温馨提示
如果先添加了 iTunes Connect 用户,则左侧栏的添加外部测试员栏目消失了,同时出现了一个新群组栏,点击这个其实就可以添加外部测试员,只不过给外部测试员进行了分组,起了一个组名而已,本人当时找了半天没找到,希望后面的同学注意下,免得在这里浪费时间。
添加外部测试员基本差不多,接下来我直接上图
填坑
在操作步骤3的时候可能会出现提示:“缺少出口合规证明”,如下图所示:
解决方法:去Info.plist文件中添加 ITSAppUsesNonExemptEncryption 并设置为 NO ,修改 build 号,重新打包上传。
小结
此方法的使用视具体情况而定,不见得就是最好的或是最坏的。今天正好有几个特殊用户需要用个特殊版本,所以采用了此方法。目前我们的测试包主要是通过脚本自动编译打包后上传到云服务器,生成一个下载链接,测试的伙伴直接通过此链接下载安装即可,(想学习自动化编译打包的看这里《iOS自动化编译打包》)上图更容易理解,请看图:
对于以上我今天出现的情况,还有很多种方法可以为特殊用户提供特殊版本的APP,比如:
- 用企业账号,打一个特殊包,上传到蒲公英供用户下载使用 (需要一个企业账号);
- 获取特殊用户的设备UDID,添加为测试设备,重新用新的配置文件编译打包,把打好的包发给用户安装即可 (需要用户设备UDID);
- 用今天所讲的 TestFlight 即可,至于使用内部人员测试还是外部人员测试根据具体情况而定 (需要用户下载安装 TestFlight 软件);
以上几种方法各有优点和缺点,自己对比,喜欢什么就用什么。😁😁😁