QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

在 iOS8 上使用 TestFlight 进行 Beta 测试

  • 2014-06-29
  • 本文字数:1412 字

    阅读完需:约 5 分钟

在 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

查看英文原文: Beta Testing on iOS 8 with TestFlight 问题


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-06-29 20:063102
用户头像

发布了 77 篇内容, 共 36.9 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

企业数字化转型:用 SpreadJS 打造互通互链的电力系统物联网

葡萄城技术团队

数字化转型 SpreadJS 电力

职场“潜”规则

L3C老司机

个人成长 职场 新人 人才培养 能力模型

JVM源码分析之Java对象头实现

猿灯塔

ARTS_20200520

凌轩

Java ARTS 打卡计划

2020年全球经济萎缩,火花国际PLUS逆袭而来闪耀数字经济

极客编

JavaScript 基础拾遗(一)

hq

Java 学习 文章收集

敏捷为什么会失败之「PA-SA-WAKA-DA」理论

易成研发中心

Scrum 敏捷开发 Agile

为提升网点业务员效率,我们做的事情。

黄大路

商业

程序员需要了解的硬核知识大全

苹果看辽宁体育

Java c 计算机基础

我的编程之路-4(进阶)

顿晓

进阶 看书 编程之路

推动敏捷,就是推动软件业变革

盛安德软件

敏捷 推动软件业变革

关于架构的几件小事:System context

北风

系统架构 系统性思考 架构师 系统上下文 极客大学架构师训练营

Elastic Stack 系列专辑

Yezhiwei

elasticsearch Logstash Kibana ELK Elastic Stack

当我们持续感觉很糟糕要怎么办

董一凡

写作 生活质量 情感

nginx 概念及上手

HelloZyjS

Android | Tangram动态页面之路(五)Tangram原理

哈利迪

android

Redis6.0 多线程源码分析

代码诗人

redis 源码 技术 线程模型

SpringBoot瘦身

JFound

Spring Boot sprnig

Enhanced Github:一个 GitHub 专用的好插件

非著名程序员

GitHub 程序员 效率工具

天天都是520

Neco.W

爱情 表白日

Redis 命令执行过程(下)

程序员历小冰

redis 源码分析

回“疫”录(22):我以为结束了,其实才开始

小天同学

疫情 回忆录 现实纪录 纪实

JVM源码分析之synchronized实现

猿灯塔

如何做好 To B 的 SAAS 服务

路边水果摊

SASS 企业 服务

SQLite是什么

山楂大卷

sqlite 数据库 RDBMS 存储

万字长文带你看懂Mybatis缓存机制

程序员小岑

Java 源码 技术 mybatis

Django的ListView超详细用法(含分页paginate功能)

BigYoung

Python django ListView 分页

竟然有人想看我的「日记」,满足一下大家

非著名程序员

学习 程序人生 提升认知

识别代码中的坏味道(四)

Page

敏捷开发 面向对象 重构 CleanCode 代码坏味道

kotlin 200行代码开发一个简化版Guice

陈吉米

Java kotlin guice ioc mynlp

深入剖析ThreadLocal原理

JFound

Java

在iOS8上使用TestFlight进行Beta测试_Android/iOS_Sergio De Simone_InfoQ精选文章