写点什么

在 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:063524
用户头像

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

关注

评论

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

食堂就餐卡系统设计 UML 练习

escray

学习 极客大学架构师训练营 UML

同城快递订单系统架构设计方案

周冬辉

Apache Pulsar 社区周报|09-05 ~ 09-11

Apache Pulsar

开源 云原生 Apache Pulsar 消息中间件

JDK15正式发布,划时代的ZGC同时宣布转正

YourBatman

ZGC JDK15

2020年6月最新iOS面试题总结

iOSer

ios 2020 面试 经验总结

AWS在线技术峰会2020探班回顾,四大看点不容错过

有只小耳朵

云计算 AI 云原生 金融 医疗

入行架构师之前,这7项技能你要先了解一下

华为云开发者联盟

架构 架构设计 架构师

实战案例丨GaussDB for DWS如何识别坏味道的SQL

华为云开发者联盟

数据库 sql 算子

智能门禁的音视频技术应用

anyRTC开发者

音视频 WebRTC 直播 RTC

Rust闭包的虫洞穿梭

袁承兴

rust 函数式编程 闭包

百度大脑事件图谱:洞察复杂世界中的事件知识

百度大脑

GrowingIO 智能运营产品微前端实践

GrowingIO技术专栏

大前端 智能运营

Copy攻城狮辛酸史:含泪“一分钟”跑通MindSpore的LeNet模型

华为云开发者联盟

学习 程序员 mindspore

QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考

艾小仙

架构 编程语言

架构师训练营第一期-第一周课后 - 作业二

跨专业学习6个月,成功上岸阿里|滴滴,分享学习路线供大家参考

小Q

Java 学习 架构 面试 基础

Code Like Sync, Works Like Async

滴滴普惠出行

分布式系统:数据一致性解决方案

马迪奥

分布式事务 一致性

Spring-boot 单元测试

陈靓-哲露

卧槽!牛逼了!40K+Star!Mall电商实战项目开源回忆录!附源码、教程合集

学习 程序员 架构师 计算机

当代开发者的好帮手,浅析.NET敏捷开发框架的优势与特点

Philips

敏捷开发 软件开发 .net core 开发工具

餐卡系统设计文档

龙卷风

百度大脑助力旅游场景智能解决方案落地

百度大脑

Java基础知识面试题(2020最新版)

Java架构师迁哥

学习笔记丨浮点数探究

Liuchengz.

C语言 基本数据类型

架构师训练营第一期-第一周课后-作业一

git的几种实用操作(合并代码与暂存复原代码)

良知犹存

git

HTTP必知必会

陈靓-哲露

面试官:哪些场景会产生OOM?怎么解决?

艾小仙

Java 架构 面试 编程语言 JVM

第一周作业,UML图

等燕归

OBS鉴权实现的宝典秘籍,速拿!

华为云开发者联盟

OBS 签名

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