原文地址:http://tech2ipo.com/66893

TestFlight / via iMore

作者: Nick Arnott   译者:翛凌 原文:iMore 

iOS 应用程序的测试对于 iOS 开发者来说一直让人非常头疼。所以苹果公司大张旗鼓地在 WWDC 2014 上宣布 TestFlight 将会作为 iOS 8 的一部分,一点都不让人奇怪。自从苹果公司收购了 TestFlight 的制造商 Burstly 公司后,许多人都期待苹果能够最终发布一个对开发者友好的解决方案。将 TestFlight 加入 iOS 8 变为了该领域一个非常重要的改进,这个声明自然也受到了开发者们的欢迎。

TestFlight vs. Ad Hoc 发布

大部分人只在他们的终端上通过 App Store 下载安装应用程序。然而对于主要做应用开发的人来说,他们也经常使用另一种方式:Ad Hoc 发布。每一个 iOS 设备都有一个独有的设备识别码( UDID )。这个设备识别码可以帮助开发者在他们的账号下添加该设备,使该设备能够接受 Ad Hoc 发布。通过这个步骤,开发者无需公开发布程序也能将程序放到设备上进行试验。管理运行 Ad Hoc 发布也很简单。开发者只需开发者创建并维护一个发布日志,指明什么特定的设备可以运行什么特定的应用程序,即可让该设备得到 beta 版应用程序的运行权限。然而对于大部分的开发者来说,一个账号被限制只能对 100 个设备进行此种设置。并且这个过程非常容易被搞砸,也很容易造成让人迷惑的错误,因此对于开发者来说 Ad Hoc 发布并不是一个非常好的工具。而 TestFlight 看起来会改变这一切。

第一个非常重要的改变就是 TestFlight 不再需要开发者或者测试者提供你设备识别码或者相应的身份信息了。目前,如果你想添加一个新设备,你需要完成以下步骤:

  1. 开发者需要让测试者提供他们的设备识别码(如果测试者不知道如何看到他们的设备识别码,开发者还需要告诉测试者如何去找到他们的设备识别码)。

  2. 测试者用一个软件取出他们的设备识别码。

  3. 测试者把设备识别码发给开发者。

  4. 开发者登陆苹果开发者入口。

  5. 开发者把测试者的设备加入他们的账号中。

  6. 开发者将设备放入合适的应用程序账号中。

  7. 开发者添加测试者的信息,并更新应用程序。

  8. 开发者将应用程序发布给测试者。

以上的步骤依据开发者所用的工具会有少许差异,但是这个步骤至少大致描述了整个过程。而 TestFlight 的步骤则基本如下:

  1. 测试者告诉开发者他们的苹果账号。

  2. 开发者登陆 iTunes Connect。

  3. 开发者给测试者发送邮件邀请。

  4. 测试者接受邀请。

  5. 测试者通过 TestFlight 软件下载安装程序。

如果 TestFlight 能达到它所承诺的所有效果的话,那么处理设备识别码和账号的繁杂步骤将会成为过去。

1000 个苹果账号 vs. 100 个设备识别码

第二点让开发者长期以来一直抱怨个不停的就是 100 个设备的限制。然而现在开发者可以在他们的 beta 版应用程序下添加 1000 个苹果账号。然而添加苹果账号会导致 TestFlight 给开发者发一个警报,并要求应用程序给苹果公司发送一个审查。不过我们现在不知道具体的通过审查的标准。同样我们也不知道在审核通过之后,如果对应用进行一些小幅度的更新会不会要求开发者再度发送审核。然而这也是开发者必须跨过的新的坎。

除了 1000 个测试者之外,开发者还可以加上 25 个国际测试者。不过国际测试者不能仅仅通过邮件邀请,他们必须有一个由开发者在 iTunes Connect 里创建的账号。这个新加入的规则的好处就是国际测试者不再需要等待应用程序发布就能参与到测试过程中。

当应用程序的新版本被上传并通过审核后,它将有 30 天的有效期。如果 30 天之后开发者没有发布新的版本,测试者将无法运行设备上的测试版应用程序。直到开发者发布新版本之后,测试者才可以再度运行程序。除了要上传应用程序之外,开发者还必须提交程序的元数据。应用程序的描述以及测试者需要测试的信息也应该被上传。

测试者将可以通过 TestFlight 管理并安装邀请他们进行测试的测试版程序。TestFlight 将随 iOS 8 一起发布,因此开发者没法在旧的 iOS 版本或者安卓上使用 TestFlight。TestFlight 将可以让用户浏览程序描述以及测试备注。测试备注将会让开发者知道哪里需要提高、哪里需要改进。同时测试者也可以通过 TestFlight 软件向开发者发邮件提供他们的反馈。

只能下载最新版本

另一个对所有开发者来说值得一提的事情是:不论是国内测试者还是国际测试者,他们都只能下载安装最新版的测试软件。依据苹果公司的新 iTunes Connect 发布会的视频,只有最新版本才可以提供下载,而之前的版本全部显示为「 inactive 」。提交了新版本之后,之前在旁边备注一个对勾的可供下载版也会显示为「 inactive 」。当日也许开发者有能力通过一些方式让测试者接触到之前的老版本。然而只有等到秋季苹果公布新的 iTunes Connect 的官方文件我们才可以确信这一点。然而仅能下载最新版本这一个特性也许会成为许多开发者无法接受的条件。

崩溃报告……明年下半年再说

最后一个值得 TestFlight 一提的特性自然是崩溃报告。当你设备上的软件崩溃时,会产生一条错误日志。iTunes Connect 一直以来都提供浏览崩溃日志的能力,但是很少有人成功。另一个总被遗忘的部分就是缺少符号化。而这意味着开发者看到的崩溃日志将不是哪一部分的代码导致应用崩溃,而是仿佛永无止境的用十六进制表示的导致应用崩溃的代码所在地址。也就是说,如果应用程序崩溃了,开发者们并不会看到类似于「[OMGASIHTTPRequest reportFinished]」的具体的错误信息,而是类似于「0x9b000 + 23698」的内容。诸如 HockeyApp 之类的第三方服务曾经提供过一段时间的错误日志符号化服务,不过现在 iTunes Connect 终于将拥有这个功能。然而不幸的是这个特性将会在「明年下半年」发布,因此希望看到有用的崩溃日志的开发者们现在还得利用一些其他的工具。

iOS 8 的 TestFlight:底线

iOS 8 里的 TestFlight 意味着对于开发者和测试者来说,测试 beta 版程序将会有更多的选择。开发者将会有能力将 beta 版应用发布给更多的用户,测试者将会得到一个被官方认可的安装通过苹果应用商城以外的方法获得第三方程序的途径。我们希望这个改进会让未来登陆苹果应用商城的程序的错误更少,让最终下载该软件的用户们得到一个经过更多人测试和加工的好应用。

iOS 8 提供 TestFlight 方便开发者测试软件 (转)的更多相关文章

  1. iOS 平台如何使用 TestFlight 进行 Beta 测试

    使用 TestFlight,你可以向测试人员发布你 App 的 prerelease 版本来收集反馈信息,为将来发布 App 的正式版做准备.现在 TestFlight 是一个可选功能,你也可以不使用 ...

  2. [App Store Connect帮助]六、测试 Beta 版本(1)TestFlight Beta 版测试概述(iOS、Apple TVOS、watchOS)

    TestFlight Beta 版测试让您可以分发您 App 的 Beta 版构建版本给测试员并收集反馈.您可以在您的 App Store Connect 帐户中一次为至多 100 个 App 启用 ...

  3. 李洪强iOS开发之苹果企业开发者账号申请流程

    李洪强iOS开发之苹果企业开发者账号申请流程 一. 开发者账号类型选择 邓白氏码 DUNS number,是Data Universal Numbering System的缩写,是一个独一无二的9位数 ...

  4. Android studio测试软件——Monkey学习及运用

    Android studio测试软件——Monkey学习及运用 在第十五周的个人博客上,王老师安排我们根据最终的团队大作业所用的软件(Android studio)进行软件测试的介绍,而我选择的是基于 ...

  5. 测试软件稳定性、健壮性之Monkey工具--简洁与深入

    搭建环境这章节没做详细说明,因为我是前期做APP自动化是已经将 SDK 以及JDK给安装配置好了,这次是直接上来演示monkey的功能点以及运用 一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看 ...

  6. iOS系统提供开发环境下命令行编译工具:xcodebuild

    iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...

  7. Xamarin iOS教程之申请付费开发者账号下载证书

    Xamarin iOS教程之申请付费开发者账号下载证书 Xamarin iOS使用真机测试应用程序 在讲解iOS Simulator时,已经提到了虽然iOS Simulator可以模仿真实的设备,但是 ...

  8. Keyboard Test Utility v1.0.1.0 电脑键盘测试软件绿色版

    软件名称: 电脑键盘测试软件绿色版软件语言: 简体中文授权方式: 免费软件运行环境: Win8 / Win7 / Vista / WinXP软件大小: 917KB图片预览: 软件简介:Keyboard ...

  9. 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...

随机推荐

  1. 前端性能优化-gzip

    为什么要开启GZIP 我们需要下载一个100KB的Javascript文件,正常的下载量就是100KB,如果我们把文件在服务端压缩一下,压缩成30kb,下载到客户端再进行解压,这样就减少了大量的HTT ...

  2. Leetcode 70. Climbing Stairs 爬楼梯 (递归,记忆化,动态规划)

    题目描述 要爬N阶楼梯,每次你可以走一阶或者两阶,问到N阶有多少种走法 测试样例 Input: 2 Output: 2 Explanation: 到第二阶有2种走法 1. 1 步 + 1 步 2. 2 ...

  3. max Count Group by

    select UserName ,Max(LoginTime),count(1) from LoginLog group by UserName 只 group by UserName就行 可以得到L ...

  4. c语言定义指针类型需注意事项

    1)在定义说明语句中,指针变量名之前的星号“*“是指针变量的修饰符,也就是说它所修饰的变量是指针变量. 2)指针变量是用它们所指向的对象类型来区分的.如定义 int *ip,类型int并不是指针的类型 ...

  5. DataGrip 使用--方法-..../

    tip1: 关键字 自动 大写--

  6. js 联动下拉菜单

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 最长上升子序列问题(O(n^2)算法)

    [题目描述] 给定N个数,求这N个数的最长上升子序列的长度. [样例输入] 7 2 5 3 4 1 7 6 [样例输出] 4 什么是最长上升子序列? 就是给你一个序列,请你在其中求出一段不断严格上升的 ...

  8. light oj 1047 - Neighbor House(贪心)

    The people of Mohammadpur have decided to paint each of their houses red, green, or blue. They've al ...

  9. hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心

    题目传送门 题目描述: 有n座城市,每座城市都可以对一个物品进行一次的买进或者卖出,可以同时拥有多个物品,计算利润最大值,并且交易次数要最少.(买入卖出算两次操作) 思路: 建立两个小根堆 优先队列, ...

  10. IDEA中Java代码存入DB中为乱码

    有一种可能是编译后出现的乱码,可以在Setting的Java compiler中加如下 -encoding UTF-8