赞
踩
应用的beta版测试一直让iOS开发者非常头疼,所以苹果在WWDC 2014上高调地宣布将TestFlight(官网:http://testflightapp.com/)加入iOS 8,并在原先的基础上进行了更多完善和提升。一点都不让人奇怪,今年早些时候,苹果收购了知名测试平台TestFlight背后的开发商Burstly,许多人都期待苹果能够最终发布一个对开发者友好的解决方案,这个声明自然也受到了开发者们的欢迎。
TestFlight vs. Ad Hoc分发
大部分人只在他们的终端上通过App Store下载安装应用程序。然而对于主要做应用开发的人来说,他们也经常使用另一种方式:Ad Hoc发布。每一个iOS设备都有一个UDID。这个设备识别码可以被添加到开发者的账户中,以提供hoc分发。通过这个步骤,开发者无需公开发布程序也能将程序放到设备上进行测试。管理Ad Hoc分发要求开发者创建并维护Provisioning Profiles,指定某个设备运行特定某个特定应用。这个过程非常容易出错,会经常导致混淆,并且大部分开发者仅限于100台设备,而TestFlight 看起来会改变这一切。
第一个非常重要的改变就是 TestFlight 不再需要开发者或者测试者使用UDID或者配置概要文件。目前如果想添加一个新设备,你需要按照以下步骤进行:
1.开发者要求测试者提供UDID(如果测试者不知道如何获取UDID,开发者要提供相关说明)
2.测试者需要使用一个软件来提取UDID
3.测试者把UDID发给开发者
4.开发者登录苹果的Developer Portal
5.开发者将测试者的设备添加到账户里
6.开发者将新设备添加至适当的Provisioning Profiles中
7.开发者使用profile更新应用
8.最后开发者将应用分发给测试者
根据开发者使用的工具的不同,这些步骤也会有差异,但这些步骤或多或少描述了它是如何工作的。TestFlight的流程看起来更像是:
1.测试者告诉开发者他们的Apple ID
2.开发者登录iTunes Connect
3.开发者发送邮件邀请测试者
4.测试者接受邀请
5.测试者通过TestFlight应用程序安装app
如果TestFlight能达到它所承诺的效果,那么开发者在UDID和Provisioning Profiles上的挫败感将会成为过去。
1000 个Apple ID vs. 100 个device ID
第二点让开发者长期以来一直抱怨个不停的就是 100 个设备的限制。然而现在开发者可以在他们的 beta 版应用程序下添加 1000 个Apple ID。然而添加苹果账号会导致 TestFlight 给开发者发一个警报,并要求应用程序给苹果公司发送一个审查。不过我们现在不知道具体的通过审查的标准。同样我们也不知道在审核通过之后,如果对应用进行一些小幅度的更新会不会要求开发者再度发送审核。然而这也是开发者必须跨过的新坎。
除了1000个beta测试者之外,开发者还可以加上 25 个internal测试者。不过internal测试者不能仅仅通过邮件邀请,必须由开发者在 iTunes Connect 里为每个测试者创建账号。Internal测试者的优势是不再需要等到beta版应用通过审核就能参与到测试中。
当应用程序的新版本被上传或者通过审核后,它将有30天的有效期。如果30天之后开发者没有发布新的版本,测试者将无法运行设备上的测试版应用程序,直到开发者发布新版本,测试者才可以再度运行程序。除了要上传二进制数据外,开发者还必须提交程序的元数据,包括应用程序的描述以及测试者需要测试的信息。
测试者可通过 TestFlight 软件安装邀请他们进行测试的测试版程序。TestFlight 将随 iOS 8 一起发布,因此开发者没法在旧的iOS版本或者Android版本上使用 TestFlight。TestFlight 将可以让用户浏览程序描述以及测试备注。测试备注将会让开发者知道哪里需要提高、哪里需要改进。同时测试者也可以通过 TestFlight 软件向开发者发邮件提供他们的反馈。
只能下载最新版本
另一个对所有开发者来说值得一提的事情是:不论是beta测试者还是internal测试者,他们都只能下载安装最新版的测试软件。在大会的The New iTunes Connect部分,视频显示除了最新的版本,其他之前的版本全部标注为 "Inactive"。提交了新版本之后,先前可用的版本会有一个展示 "Inactive"的复选框。当然也许开发者会有能力让测试者访问到之前的老版本,不过只有等到秋季苹果公布新的 iTunes Connect 的官方文件我们才可以确信这一点。
崩溃报告……明年晚些时候再说
TestFlight最后一个值得一提的特性自然是崩溃报告。当你设备上的软件崩溃时,会产生一条错误日志。iTunesConnect一直以来都提供了浏览崩溃日志的能力,但是很少有人成功。另一个总被遗忘的部分就是缺少符号化。这意味着崩溃报告不会告诉开发者错误代码的名称,而是展示很少但非常有用的代码的十六进制地址。也就是说,如果应用程序崩溃了,开发者们并不会看到类似于「[OMGASIHTTPRequest reportFinished]」的具体的错误信息,而会看到类似于「0x9b000 + 23698」的内容。诸如 HockeyApp 之类的第三方服务曾经提供过一段时间的错误日志符号化服务,不过现在 iTunesConnect 终于将拥有这个功能。然而不幸的是这个特性将会在明年晚些时候发布,因此希望看到有用的崩溃日志的开发者们现在还得利用其他一些工具。
iOS 8 的 TestFlight概要
iOS 8 里的 TestFlight 意味着对于开发者和测试者来说,测试 beta 版程序将会有更多的选择。开发者将会有能力将 beta 版应用发布给更多的用户,测试者将会得到一个被官方认可的安装通过苹果应用商城以外的方法获得第三方程序的途径。我们希望这个改进会让未来登陆苹果应用商城的程序的错误更少,让最终下载该软件的用户们得到一个经过更多人测试和加工的好应用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。