iOS开发-平台使用TestFlight进行Beta测试

使用 TestFlight,你可以向测试人员发布你 App 的 prerelease 版本来收集反馈信息,为将来发布 App 的正式版做准备。现在 TestFlight 是一个可选功能,你也可以不使用它,而是像以往发布 App 那样直接提交到 appStore。


TestFlight 使用起来很容易,还是免费的,不妨把它作为你改进 App 的另一种渠道。不过现在 TestFlight 只支持了 iOS 平台的 App,每个开发者账号最多只能测试10款不同的 App。


在 iTunes Connect 中,可以通过下面的步骤来创建一个 prerelease 版本,并使用 TestFlight 测试:


  • 如果是初次创建的 App,需要创建一个 iTunes Connect Record 先。
  • 提交一个该 App 的 build 。
  • 添加 App 的介绍信息和测试信息。这一步对于内部测试人员是可选的;但是如果想要提交到 Beta App Review 供外部人员测试,则需要填写一些必要的 prerelease 信息。
  • 向测试人员发布该版本。这步是由 TestFlight 邀请的,你需要做的只是将需要邀请的人添加到内部或外部测试人员那里。
  • 从测试人员那里获取反馈信息。
  • 根据反馈信息,提交一新的 build。TestFlight 会自动发出提醒让测试人员更新的。
  • 当你完成了这个 prerelease 版本的测试时,你就可以关闭它的‘TestFlight Beta Testing’属性,或者是将该版本提交到 App Review。

创建一个 iTunes Connect Record

想要测试人员开始测试一个 App,你首先必须要在 iTunes Connect 里面有一个 App。因为虽然 TestFlight 对于内部测试人员来讲,可以完全不需要填写任何应用信息;但是如果想要把它方便的分发给外部测试人员(1000人限制),还是需要填写一些必要的应用信息的,而且分发给外部测试人员之前还需要经过一个 Beta Review 的过程。


如果你的 App 已经创建好了,那么就可以忽略这段。如果你要新建一个 App 的话,可以按照下面的步骤来做:

  • 登录 iTunes Connect
  • 在 iTunes Connect 的首页,点击‘My Apps’图标。
  • 你第一次进到这里的时候,这里是个空白页。点击左上角的‘+’号按钮,创建一个新的 App 。在你创建了 App 之后,这里会显示你创建的 App 列表。
  • 在这里,选择‘New iOS App’。如果你只是 iOS 平台的开发者,这里不会出现其它的选项(如‘New Mac App’)。
  • 填写好如下弹窗内的信息,点击‘Create’按钮完成创建。

    对于一些必填信息,如果未填写的话,Apple 会在对话框内给出如下提示:

    在每一项需要填写的信息旁边,都会有一个‘?’号按钮,可以用鼠标点击查看该项信息的具体解释。

       如果你之前没有 Bundle ID 的话,那么你需要先去 创建一个Bundle ID


现在你已经创建了一个 App 了,你在‘My Apps’页面里面可以看到它。你已经可以提交这个 App 对应的 build 了,但是如果想要提交这个 App 到 appStore 或者提交给 TestFlight 的外部测试人员的话,到时候还需要补全一些必要的信息,根据 Apple 的提示补全即可。


提交一个 build
  • 在 Xcode 中配置好版本和证书信息。
  • 选中菜单‘Product->Archive’将当前代码归档,归档完成后会弹出‘Organizer-Archives’对话框。
  • 选择‘Validate’按钮来检测该归档文件是否符合要求。
  • 验证通过之后,你可以选择‘Submit’来提交这个归档。或者你也可以选择‘Export’按钮,导出一个安装包,然后用‘Application Loader’来提交(选中菜单‘Xcode->Open Developer Tool->Application Loader’)。

为你的 prerelease 版本添加信息

每当你提交一个新的 build 之后,在 iTunes Connect 的 Prerelease 列表中都会对应的增加一个 build 。你可以开启对应版本的‘TestFlight Beta Testing’选项来启用 TestFlight 测试,你还可以在对应的 build 里面填写这个 build 对应更新的内容等信息。如果你还想要提供给外部测试人员的话,就需要按照下面的步骤填写更多的信息了:


  • 来到刚刚创建的 App 详情页面。点击‘Prerelease’,选中你刚刚提交的那个 build。
  • 在 build 的详情页面,你可以填写一些测试内容相关的信息。比如测试内容、App 介绍、反馈邮箱和一些网址信息。
  • 在 Prerelease 的列表页面,对应的‘External’列会显示当前build的状态信息。如果你想要提交 Beta Review,可以点击该栏下的蓝色字‘Submit For Beta Review’并填写一些必要的信息来提交审核。


邀请测试人员

你可以根据你自己的意愿邀请该 prerelease 版本的测试人员。你最多只能邀请25个内部测试人员和1000个外部测试人员。内部测试人员在你提交新的 build 并开启 TestFlight 之后即可安装,外部测试人员需要你提交并通过 prerelease 版本的审核之后才能安装。


邀请内部测试人员:

内部测试人员必须是你 iTunes Connect 团队的成员,而且只有 Admin、Legal 和 Technical 角色有内部测试权限。所以要添加内部测试人员,必须先将他添加到 iTunes Connect 团队中来。


  • 登录 iTunes Connect,点击‘Users and Roles’图标
  • 点击下图中的‘+’号按钮。
  • 根据页面指示,添加成员姓名、账号信息,设置成员角色,设置该成员接受的通知类型,点击‘Save’完成添加。到此,Apple 会向该成员的 Email 邮箱发送一封确认邮件,待其确认后,他就会出现在‘Users’列表中了。
  • 下面还需要开启该成员的内部测试权限。在‘Users’列表中,选中刚刚添加的成员进入该成员的详情页面,可以看到下图中的‘Internal Tester’选项,点击开启并保存。

    接下来就可以向你的App添加测试人员了。
  • 进入到 App 的详情页,选中‘Prerelease’选项卡,再选中里面的‘Internal Testers’选项卡,如下图所示。
  • 在左侧的复选框中,勾选不多于25个测试人员,然后点击保存。
  • 然后再点击‘Internal Testers’旁边的‘Builds’选项卡,这里是你提交各个版本的 build 列表,每个 Version 旁边都会有一个如下图所示的‘TestFlight Beta Testing’选项。

    点击开启你想要测试的 Version 旁边的‘TestFlight Beta Testing’按钮,然后你刚刚选中的那些内部测试人员会收到一封邀请测试的邮件,他们可以直接用 TestFlight 去安装该App的Beta版。

邀请外部测试人员

你最多可以邀请1000个外部测试人员,添加外部测试人员会更简单一点,他们不需要成为你 iTunes Connect 团队的成员。

  • 点击‘External Testers’选项卡,会看到如下图的页面。
  • 点击红框内的‘+’号按钮,进到如下页面。

    只需要提供外部测试人员的邮箱即可,First Name 和 Last Name 均是可选项,完成填写后,点击‘Add’按钮完成添加。这里 Apple 还提供了用文件导入的方式来添加外部成员;你可以点击‘Import File’旁边的问号按钮,然后点击弹窗里面的模板链接来获取具体的文件模板。

       first name, last name, email address


还需要一提的是,外部测试人员想要参与测试的话,必须要 App 已经通过了 Beta App Review 才行。


  • 可以点击‘Build’选项卡下面的‘Submit For Beta App Review’来提交 Beta 审核。目前来看,Beta 审核还是比较快速的,有时候一个工作日就可以通过审核。可能是现在使用 TestFlight 功能的 App 还不太多吧;不知道等 TestFlight 普及之后,随着参与 Beta Review 的 App 越来越多,Beta 审核还能不能一直这么快。
  • 等 Beta App Review 完成之后,就可以点击下面的‘Send Invites’按钮来向外部测试人员发出邀请邮件了。

以上。。。。

———-
PS:说下我最近在做的 Coding 应用。如果想要使用 Coding 的 Beta 版本,可以按下面的步骤成为 Coding 的外部测试人员:

  • 私信提供你的邮箱账号和姓名给我(@王哼哼),你的邮箱里会收到一个邀请链接。
  • 去 appStore 安装名叫‘TestFlight’的应用。
  • 使用iOS设备,点击邮箱里的测试链接,会跳转去‘TestFlight’应用,然后你就可以使用‘TestFlight’来安装 Coding 的 Beta 版了。

相关引用:
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html#//apple_ref/doc/uid/TP40011225-CH35-SW2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/247760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QPixmap QImage 相互转化

QPainter p(this); QPixmap pixmap; pixmap.load("E:\\参考文件\\image\\1.jpg"); //QPixmap->QImage QImage tempImage pixmap.toImage(); p.drawImage(0,0,tempImage); QImage image; image.load("E:\\参考文件\\image\\1.jpg"); //QImage->QPixm…

java语言介绍 —(1)

1.基础常识 软件:即一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件 和 应用软件 系统软件:windows , mac os , linux ,unix,android,ios,… 应用软件:word ,ppt,画图板,… 人机交互方式: 图形化界面…

微信小程序入门资源整理(热更新)

从零开始:微信小程序新手入门宝典《一》 传送门地址: https://segmentfault.com/a/1190000008035180 微信小程序部分资源整理 传送门地址:http://blog.csdn.net/u012995964/article/details/53116477

第一个java程序helloworld —(2)

1.开发体验——HelloWorld 1.1 编写 创建一个java源文件:HelloWorld.java class HelloChina{public static void main(String[] args){System.out.println("Hello,World!");} }1.2 编译: javac HelloWorld.java 1.3 运行: java Hel…

高并发大流量专题---6、独立图片服务器的部署

高并发大流量专题---6、独立图片服务器的部署 一、总结 一句话总结: 独立图片服务器还是非常有必要的,可以很大程度的降低主服务器的io以及提升用户访问速度 1、独立图片服务器 独立的必要性? 分担Web服务器的I/O负载:将耗费资源的…

2017年苹果公司开发者账号申请与支付流程

邓白氏编码下来之后,现在我们就可以走到付款流程,购置账号了!觉得有用的顶一下 1.登陆苹果账号,加入苹果开发者 https://developer.apple.com/ 2.按照指示,一步步点击进入就行了,反正你也看不懂&#xff08…

java关键字与标识符 —(3)

1.java关键字的使用 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所字母都为小写 具体哪些关键字: 2.保留字:现Java版本尚未使用,但以后版本可能会作…

parentNode,parentElement,childNodes,children的区别

转自链接,https://blog.csdn.net/CODING_1/article/details/78202693转载于:https://www.cnblogs.com/RioPlus/p/11051630.html

2017年苹果公司开发者账号申请-公司邓白氏编码

申请公司的苹果开发者账号和企业级的苹果开发者账号时,都会用到邓白氏编码,也就是我们申请苹果开发者账号时需要填写的D-U-N-S Number。 申请这个邓白氏编码是免费的,但是从像华夏邓白氏公司提交申请到可以申请苹果开发者账号来用这个9位的D-…

java变量及进制问题 —(4)

1.变量的分类 1.1 按数据类型分类 详细说明: //1. 整型:byte(1字节8bit) \ short(2字节) \ int(4字节) \ long(8字节) //① byte范围:-128 ~ 127 // ② 声明long型变量,必须以"l"或"L"结尾 // ③ 通常&…

Struts2的两个蝴蝶飞,你好简单开发(一)

我把你的头像,设置成我的名字,此刻你便与我同在。我把你的名字,写进我的代码里面,以后,我的世界便存在着你。 “两个蝴蝶飞”特别喜欢"java1234知识分享网"小峰的实用主义,所以本文及其系列文章均…

用Canvas画圆环百分比进度条

<!DOCTYPE html> <html> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>canvas圆环进度</title><link rel"stylesheet" href"">…

java运算符 —(5)

1.算术运算符&#xff1a; - - * / % (前) (后) (前)-- (后)-- 【典型代码】 //除号&#xff1a;/ int num1 12; int num2 5; int result1 num1 / num2; System.out.println(result1);//2 // %:取余运算 //结果的符号与被模数的符号相同 //开发中&#xff0c;经常使用%来…

利用SQL计算两个地理坐标(经纬度)之间的地表距离

两个地理坐标(经纬度)地表距离计算公式&#xff1a; 公式解释如下&#xff1a; Long1,Lat1表示A点经纬度&#xff0c;Long2,Lat2表示B点经纬度&#xff1b;aLat1–Lat2 为两点纬度之差&#xff0c;bLong1-Long2为两点经度之差&#xff1b;6378.137为地球半径&#xff0c;单位为…

HTTP 错误 404 - 文件或目录未找到 - 最终解决方法

问题描述&#xff1a;http错误404&#xff0d;文件或目录未找到问题原因&#xff1a;我遇到的情况是&#xff0c;先按装了.NET&#xff0c;后装的IIS&#xff1b;不确定其他原因也会不会产生类似错误。&#xff08;如果有&#xff0c;希望大家能贴出更多的原因&#xff0c;方便…

java流程控制及控制键盘输出文字 —(6)

1.if-else条件判断结构 1.1. 结构一&#xff1a; if(条件表达式){ 执行表达式 } 结构二&#xff1a;二选一 if(条件表达式){ 执行表达式1 }else{ 执行表达式2 } 结构三&#xff1a;n选一 if(条件表达式){ 执行表达式1 }else if(条件表达式){ 执行表达式2 }else if(条件表达式…

自执行匿名函数剖析整理

格式&#xff1a;&#xff08;function(){//代码})();解释&#xff1a;这是相当优雅的代码&#xff08;如果你首次看见可能会一头雾水&#xff1a;&#xff09;&#xff09;&#xff0c;包围函数&#xff08;function(){})的第一对括号向脚本返回未命名的函数&#xff0c;随后一…

爬虫界又出神器|一款比selenium更高效的利器

提起selenium想必大家都不陌生&#xff0c;作为一款知名的Web自动化测试框架&#xff0c;selenium支持多款主流浏览器&#xff0c;提供了功能丰富的API接口&#xff0c;经常被我们用作爬虫工具来使用。但是selenium的缺点也很明显&#xff0c;比如速度太慢、对版本配置要求严苛…

java数组 —(7)

* 1.数组的理解&#xff1a;数组(Array)&#xff0c;是多个相同类型数据一定顺序排列的集合&#xff0c;并使用一个名字命名&#xff0c; 并通过编号的方式对这些数据进行统一管理。 * 2.数组相关的概念&#xff1a; 数组名 元素 角标、下标、索引 数组的长度&#xff1a;元素…

bootstrap按钮的边框问题 去除

问题&#xff1a; 用bootstrap做的按钮&#xff0c;点击后&#xff0c;都会出现边框&#xff0c;请问如何去除&#xff1f; .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {outline: none; }还要去除阴影添…