文章转载自:https://www.ifeegoo.com/using-testflight-for-ios-app-internal-testing.html

用 TestFlight 来进行 iOS App 测试是官方推荐的测试方式。

本文是 AppX 系列内容之一。AppX 系列是 @ifeegoo 个人移动互联网学习、工作和生活的提炼与总结的文章系列。更多内容请关注:
AppX @ifeegoo https://www.ifeegoo.com/appx.html。

iOS 应用内测除了采用 Development Running 包/Development Distribution 包/Ad Hoc 包/Enterprise 包之外,如果你的应用最终是要上架到 App Store 的话,最好的内测方式就是通过 TestFlight 方式进行测试,这也是官方推荐的方式。接下来我们就一起来回顾一下 TestFlight 的使用。

1.上传 iOS 测试版本 ipa 包到 App Store。

假若 iOS 开发工程师已经准备好了一个 App 内测版本 ipa 包:v1.0.1,通过 Xcode 或 Application Loader 上传至 App Store。

2.理解测试人员的类型和相关限制条件。

表 1:TestFlight 内部测试人员和外部测试人员的区别

 区分   内部测试人员   外部测试人员 
iOS 设备  需要   需要 
Apple ID  必须   必须 
测试  包上传后,可立即测试   包上传后,需等待审核 
人数  25   10000 

备注:据说针对于公司的 iOS 设备,苹果提供了针对企业的 iOS 设备管理的账号体系,可能上面这块稍微有些出入。由于本人没有接触过,只是听说过,大家可以注意这个问题。

针对内部测试人员和外部测试人员的区别,我们实际使用的时候,可以参考以下建议:

1.公司内部测试,就使用内部测试人员,一般来说 25 个人是够用的。如果不够用,让测试团队作为内部测试人员,其他的可以作为外部测试人员。

2.如果给客户来测试,建议将客户作为外部测试人员,如果客户比较紧急的话,由于可能受到 Apple 的审核导致通过延后耽误的话,可以将客户加入到内部测试人员。

3.内部测试人员的创建和使用流程。

内部测试人员:

我们去到 https://itunesconnect.apple.com 登录之后,点击:用户和职能。

进入到“用户和职能”模块主界面:

点击用户旁边的 “+”:填写好姓名和 Apple ID 对应的邮件地址。

下一步,选择对应的职能,由于没有专门一个针对测试人员的,我们选择“开发人员”即可,其他类型的不建议选择,有的权限过大,有的又不能使用 TestFlight。同时注意默认的是关联所有的 App,你也可以选择关联指定的 App。

然后下一步,最后确认即可。告知你刚才加入组成员的人去查收 Apple ID 对应的邮箱,里面会有一封邮件:

点击:activate your account,用 Apple ID 和对应的密码登录,进入到以下页面:

勾选 I have read and agree to the above Terms of Service. 前面的对勾,点击 Accept。就被加入到了 iTunes Connect 用户组。

然后我们去到 iTunes Connect 管理后台,找到你想要进行 TestFlight 测试的应用的 TestFlight 页面,点击 iTunes Connect 用户:出现当前已经邀请进来的测试人员列表,点击测试员旁边的 “+” 号,将刚才邀请并成功加入组成员的用户加入到这个列表。

等待对方接收邮件:

接收到邮件之后,Web 端点击 View In TestFlight:


第三条内容中有一个邀请码:HRQRHGVS。我们在 iOS 设备上下载 TestFlight 应用。然后点击应用右上角的 Redeem 按钮,将邀请码输入到弹出框。

备注:如果是 iOS 设备上已经安装了 TestFlight 应用,你在 iOS 设备上接收邮件,点击 View In TestFlight 的话,输入邀请码的流程会被自动执行。


输入正确的邀请码之后,会出现你可以进行内测的应用。


点击下载安装。注意:TestFlight 的应用,应用名称左边会显示一个黄色小点,这个小点会一直都在,一直在提醒你这个是内测的应用。

4.外部测试人员的创建和使用流程。

提醒:要想让外部测试人员(不用像内部测试人员一样,要将其加入到 iTunes Connect 组中)测试我们的 App,需要将我们的测试版本提交 Apple 进行审核,只有审核通过了之后,才可以让外部的测试人员来使用 TestFlight 测试我们的应用。

我们可以从后台的 TestFlight 版本列表中看到 2.0.1 和 2.1.3 版本中外部测试员底下的描述:正在测试/准备提交。2.0.1 版本是已经提交通过审核的版本,是可以直接让外部测试人员来测试的,而 2.1.3 版本还没有提交审核的版本。

我们去到当前需要测试的应用的 iTunes Connect 管理后台的外部测试人员一栏,点击构建版本后面的 “+”,选择你想要进行外部测试的应用版本。


填写好相关的信息:如果 App 需要测试的登录账号就填写下,后面是针对此次版本的测试内容。中英文都填写一下,不然容易出现错误。


然后点击“提交已审核”,等待 Apple 的审核。


这个外部测试的版本,如果通过 Apple 的审核的话,然后我们可以去添加外部测试人员。


填写外部测试人员的 Apple ID 邮件地址,然后填写姓名:


然后点击添加就可以了。等待对方接收邮件。


如果是在 Web 端接收邮件的话,就和上面的内部测试人员接收邮件流一样。如果是手机端打开邮件然后点击“View In TestFlight”,你的 iOS 设备也已经安装了 TestFlight 的话,输入邀请码的流程会被自动执行,然后点击 Accept 就可以了。


我们在后台可以管理当前测试版本是否过期:就是是否可用。一旦将此测试版本设置成过期,在当前后台 TestFlight 就找不到这个版本,同时 TestFlight 应用中也找不到这个版本。

但是在 TestFlight 中下载的内测版本还是可以使用的,直到默认的 90 天的测试期已到。如果要让这个版本不可以使用,我们可以自己设定一套机制,让当前的过期版本立即不可用。

备注:

1.TestFlight 针对单个应用的多个版本,可以同时进行测试。除了每个版本对应的内部测试人员组之外,可以单独针对每个版本设置不同的外部测试人员。

2.TestFlight 针对单个应用的指定版本,默认内测开始 90 天之后过期(这个时间长度暂时没有发现可以修改),也就是说 90 之后,通过 TestFlight 安装的内测应用,就不能再使用了。当你点击图标的时候,会提示此应用已经过期。一般来说,90 天之后过期问题不大,如果是特殊情况,当你在后台设置指定版本过期的话,就想要已经安装了这个指定版本不能使用,那目前只有我们自己维护内部的机制,在我们自己服务器上设置一个版本是否可用的开关。

3.TestFlight 里面的版本设置为过期之后,在 TestFlight 列表中就没有了,但是在构建版本的时候,还是会有。注意在发正式版本的时候,不要和里面的 Build 值冲突。否则就不能通过版本审核。
4.如果有人安装了 TestFlight Beta 应用到本地设备,管理后台将此测试人员移除,当前设备已经安装的 Beta 应用依然是可用的。

5.曾经我被邀请使用了 QQ 邮箱的 TestFlight 形式的内测。当然,他们来进行版本内测肯定不是我们这种操作形式,必然是后台自动化的流程。对于这块内容,可以参考这篇文章:iOS 平台 TestFlight 外部测试邀请码优化方案。

iOS App 采用 TestFlight 进行内测的优势在于:

1.采用 Development Running 包/Development Distribution 包/Ad Hoc 包 内测都需要指定的 iOS 设备,或者手机相关 iOS 设备的 UDID 信息,而且有测试设备最多只有 100 台的限制,而 TestFlight 不需要。

2.采用 Enterprise 包内测,需要额外的 $299 的 Enterprise 的账号。而且这种账号的不正当或者未知潜在危险的使用可能会导致封号,同时现在 Enterprise 的包的初次使用,操作流程比较复杂,不容易被普通用户所理解。TestFlight 则没有这样的问题。

3.采用 TestFlight 内测,可以快速方便的邀请最多 10000 名外部人员进行应用内测,并且可以让测试版本在 90 天之后不可用,同时也集成了一些测试信息展示,和测试反馈信息的收集。

4.采用 TestFlight 内测,如果当前版本没有什么问题的话,可以直接将当前版本转成正式版本,提交到 App Store 进行审核。这个就避免了由于要从其他形式的包转成 App Store 包(Xcode 中需要切换相关的证书配置)可能导致的代码的变化,从而出现的潜在的 Bug。

其他:这篇文章是写于 2017 年 12 月初,可能在前后,TestFlight 的内容有所变化,参考此文章的读者,敬请留意。

2018 年 07 月 02 日(一)追加:

1.最近发现自己之前的一个应用一打开就闪退,还以为是手机兼容性的问题,App Store 下载测试却没有问题,后来才发现是 TestFlight 的版本,之所以一开始没有发现是 TestFlight 版本,原因就在于我将应用移动到了底部 Docker 栏,这个位置是不会显示小黄点的,让我误以为是 App Store 版本或者 Ad Hoc 版本应用。

2.以上情况,推测应该是 TestFlight 版本过期导致,但是之前用过 QQ 邮箱的 TestFlight 版本,记得印象比较深刻的就是过期之后,点击应用,只会弹出一个过期提醒的提示框,不会闪退,去这个应用后台查看了之后,发现这个 TestFlight 版本被移除掉了,由此可以推测,如果在后台还存在对应的 TestFlight 测试版,点击会提示测试版本过期,如果后台移除了对应的 TestFlight 测试版,点击应用,就会出现闪退情况。

2020 年 03 月 07 日(六)追加:
1.最近发现京东通过 TestFlight 测试其应用的举措:https://testflight.apple.com/join/geAtB7Mp。

京东 TestFlight 测试应用页面,在 iOS 设备上的 Safari 浏览器打开如下,如果点击上面的在 TestFlight 应用中打开,就会走 TestFlight 应用测试流程。


京东 TestFlight 测试应用页面,在 macOS 电脑设备上的 Safari 浏览器打开如下:

最近也收到了 iOS 手机上抖音的 TestFlight 的邀请,先是在抖音里面有一个内测邀请的弹出提示框,确认后就进入到 TestFlight 应用内部,并且展示应用相关信息:


点击安装之后,会弹出提示框提醒你手机上已经安装此应用,是否确认安装测试版本来替换当前正常版本,并提示潜在风险。


安装完,接受就好,就会进入到安装过后的测试版本应用中


提醒测试版本信息:


提醒你共享反馈信息:


在桌面,我们可以看到,TestFlight Beta 版本的应用名称左侧始终有一个黄点。


TestFlight Beta 版本的抖音,在推荐页面上方,有一个明显的反馈按钮,点击之后可以进入反馈与帮助页面,但是请注意正式版本的抖音在这个位置是没有这个按钮的,另外 App Store 里面的正式版本的抖音,你可以再次下载安装覆盖当前已经安装的 TestFlight Beta 版本。


TestFlight Beta 版本的知乎,有一个不太一样的地方,就是测试版本的知乎的图标明显和普通蓝色知乎图标不一样,是黑色的,并且带有 beta 标记。

使用 TestFlight 进行 iOS App 内测相关推荐

  1. 使用TestFlight安装ios APP的测试版本

    转载-[iOS]使用TestFlight进行APP测试:https://www.jianshu.com/p/c33e576105b9 转载[iOS]AppStore最新上架流程梳理:https://w ...

  2. 简书iOS APP内测邀请

    简书iOS APP正在进行全新改版,新版本的功能涉及阅读文章/发表评论/订阅管理专题/社交动态/个人主页展示等.我们欢迎对简书新版iOS APP感兴趣的你参与我们的内测申请. 新版iOS简书的界面,是 ...

  3. iOS App内测分发的步骤解析

    苹果开发者们应该都有所感觉,苹果官方对于App Store上架审核越来越严了,很多APP开发者只能选择iOS企业签名或TF签名,通过这两种方式,可以不用经过App Store就实现分发,这对需要测试和 ...

  4. 安卓签名生成工具_ios app如何进行内测?ios app和安卓app的内测有何区别?

    目前手机主流的操作系统分为Android和iOS两大阵营,分别是由谷歌和苹果进行开发维护.这两大平台的应用都相互独立,无论是运行机制还是底层原理,都不一样,所以即使是同一款App也是需要针对在两大平台 ...

  5. iOS app上传 之TestFlight Beta版本测试

    软件开发中的版本分类 alpha内部测试版本,极不稳定,一般也不会出现在公众视线中,仅供内部测试人员测试用. beta公共测试版,就是对外发布软件的测试版,用于收集公众的意见.建议和问题. 就是正式版 ...

  6. TestFlight用法(iOS APP官方测试工具)

    TestFlight用法(iOS APP官方测试工具) 参考资料: TestFlight用法 包教包会(iOS APP官方测试工具) TestFlight使用之外部测试 包教包会(iOS APP官方测 ...

  7. iOS app测试版发布方案TestFlight

    iOS App在未上线之前的开发和测试阶段,PM或者客户什么的可能需要先安装看Demo,但很多人不会安装ipa,有的拖到iTunes里同步的时候呢又会把其它App也给给同步了. TestFlight可 ...

  8. App内测神器之蒲公英--类似 testFlight fir.im

    一.前言部分 没发现蒲公英之前一直采用非常傻B的方式给公司App做内部测试,要么发个测试包让公司测试人员用iTUnes 自己安装 要么苦逼的一个个在我Xcode上直接安装测试包,操作起来又麻烦又苦逼, ...

  9. 黑苹果找不到触控板_苹果App内测找不到苹果企业签名怎么办?

    在苹果App的内测阶段,很多开发者都会选择使用苹果企业签名来进行App内测,因为经过苹果企业签名添加信任的App可以不经过App Store和苹果系统的审核,直接安装到ios设备上去,所以苹果企业签名 ...

  10. IOS APP 测试方法和测试工具大揭秘

    随着移动互联网的发展,以及智能手机的普及,各种各样的 APP 层出不穷,大家可以数一数自己手机上安装的 APP,随随便便几十个,上百个,所以现在 APP 测试的需求也越来越大.那么,现在最主流的移动端 ...

最新文章

  1. 优词词根词典mdx_推荐|一波好用的在线英语词典网站
  2. 大学生计算机基础excel视频,大学生计算机基础Excel.doc
  3. jmeter的性能监控框架搭建记录(Influxdb+Grafana+Jmeter)
  4. 李开复悔过:把运营微博当人生,把获取粉丝当游戏
  5. C# HttpRequest基础连接已经关闭: 接收时发生意外错误
  6. OpenGL环境下的射线选择
  7. 顶会论文:基于神经网络StarNet的行人轨迹交互预测算法
  8. oracle配置ipv6_pl/sql developer通过IPV6连接oracle-阿里云开发者社区
  9. GDB watch的使用
  10. Java之AOP解释
  11. Linux下安装ntp时间同步服务器
  12. Windows服务器上使用phpstudy部署PHP程序
  13. 一生只有一个配偶的动物,如果一方死亡了,另一方会怎么办?
  14. POJ 1703 Find them, Catch them 并查集
  15. 自动驾驶算法-滤波器系列(七)——ESKF(error-state Kalman Filter)介绍
  16. oppok3如何刷机_OPPO K3 PCGM00刷机教程,卡刷升级更新官方固件系统包
  17. MongoDB之Robo3T客户端安装
  18. java浏览 下单界面_Javaweb网上商城项目实战(24)实现订单详情查询功能
  19. lol登入显示目录服务器失败,英雄联盟(LOL)登录游戏提示“连接DIR服务器失败”?...
  20. 紫微斗数飞星派排盘批处理

热门文章

  1. [车联网安全自学篇] Android安全之Android so文件分析「详细版」
  2. java计算机毕业设计基于Web的上门家教系统的设计与实现源码+数据库+系统+lw文档+mybatis+运行部署
  3. python基础 class6(基本统计值计算、文本词频统计)
  4. 企业新站,如何建立外链,提高预期排名?
  5. 解读|风控模型的客观认识与深入理解
  6. 将一个对象转换成数组
  7. pymol怎么做底物口袋表面_pymol常用操作
  8. es管理器免root_国产应用也强大 ES文件浏览器增加ROOT管理
  9. 微信如何群发消息给所有人?
  10. FSA-Net学习笔记