引言

在移动应用开发的测试阶段,分发测试包时必不可少的一步。与Android相比,iOS的测试包安装方式略有不同。Android设备只需下载并安装APK文件,而iOS则复杂一些,通常需要开发者提前添加测试设备的UDID(设备唯一标识符)到开发者账号,并生成对应的证书和配置文件,这对于规模较大的测试来说相当麻烦。

然而,使用TestFlight,这个流程变得更加简单。TestFlight并不需要手动添加测试设备的UDID,它可以通过将测试人员的Apple ID添加到开发者账号中,直接邀请他们进行测试。这极大地方便了应用的分发和安装,尤其是在进行外部测试时,开发者只需将测试者的邮箱加入TestFlight即可邀请其进行测试。

TestFlight的外部测试功能是TestFight内部测试限制更少的一种分发方式,不仅不需要添加设备的UDID甚至连Apple ID都不需要添加,可以邀请任意用户最多邀请1万名测试者,并提供了自动更新、反馈收集以及崩溃日志分析功能,使得开发者能够更好地跟踪和优化应用的表现。相较于传统的分发方式,TestFlight外部测试带来了极大的灵活性和便利性。

本篇博客将默认已经有了开发者账号,并且已经在App Store Connect中构建了应用,并启用了TestFlight。具体步骤可以参考下面这篇博客。

苹果开发者网站iOS应用创建全流程详解-CSDN博客

构建版本

要在TestFlight上提供内,外部测试,首先需要确保应用的构建版本(Build)已经准备好,并且正确上传到App Store Connect。以Xcode的为例以下是构建版本的具体步骤。

1.构建版本(Build)

在Xcode中,完成开发和调试后,需要生产一个用于测试的构建版本。构建版本是应用程序的一个特定编译版本,包含了应用的可执行文件、资源文件以及所需的配置信息。确保在构建之前,已经为应用设置好了相应的代码签名和Provisioning Profile,以便应用能够正常运行在测试设备上。

具体的的签名,证书以及Provisioning Profile生成步骤可以参考下面这篇博客。

如何获取 uni-app 应用发布所需的证书、私钥与配置文件-CSDN博客

当然也可以通过自动管理证书的方式直接构建,需要在Team处登录并选择合适的开发者账号,勾选Automatically manage signing将签名、证书生成以及描述文件生成的工作交给Xcode自己处理,直到底部不再报红色的错误,那么就可以继续进行,但需要注意Debug和Release都需要调整,Debug对应开发包,Release对应的是生产包。

2.版本号与Build号

在上传应用前,有两个重要的标识需要注意:版本号(Version)和Build号(Build)。

  • 版本号(Version)是对外公开的,表示应用的正式版本。例如,1.0.0、2.1.3等。每次发布新版本时,这个号通常会递增,以便用户区分版本更新。
  • Build号(Build)用于区分同一版本下的不同构建版本。每当你在同一版本号下进行多次构建时,Build号应当递增。Build号通常是数字,且只能是整数,例如1、2、3等。

提示:每次上传新的构建版本到App Store Connect时,Build号必须递增,但版本号可以保持不变。TestFlight允许你在相同版本号下多次上传不同的构建进行测试。

3.上传构建到App Store Connect

在确认版本号和Build号都已经正确设置后,就可以将构建版本上传到App Store Connect。以Xcode为例以下是具体步骤。

  1. 在Xcode中选择设备为Build下的Any iOS Device(arm64)
  2. 在Xcode中,选择“Product”菜单,然后点击Archive进行归档。
  3. 归档成功后,Xcode会打开Organizer窗口,在其中可以看到刚刚生产的构建版本。点击该构建版本并选择Distribute  App。
  4. 选择App Store Connect作为分发平台,然后根据提示选择Upload
  5. 在上传的过程中,Xcode会自动进行验证,确保你的构建复合App Store的技术要求,包括代码签名和包体结构。如果有任何问题,Xcode会显示错误提示,确保修复这些问题后再进行重新构建上传。
  6. 构建成功上传后,你可以在App Store Connect的TestFlight部分查案到这个构建版本。

通过完成这些步骤,你就成功地将应用的版本上传到了App Store Connect,并准备在TestFlight中进行测试了。接下来,我们将介绍如何开启将次构建版本进行内部、外部测试。

对于缺少合规证明的构建版本,我们可以点开管理页面,勾选合适的选项,点击存储。完成这一步验证,通常我们的App都是不属于上述任意一种算法。

内部测试

在将应用提供给外部测试者之前,通常开发者会先进行内部测试(Internal Testing),以确保应用的基本功能在不同设备上正常运行。与外部测试相比,内部测试流程更为简单,且无需经过Apple审核,但是可以参与测试的成员较少,以下是具体步骤。

1.添加内部测试人员

内部测试人员通常是团队成员或开发者自己。这些测试人员必须有用App Store Connect权限。

  1. 在App Store Connect中点击用户和访问,进入用户管理页。
  2. 点击“+”按钮,输入用户的App ID对应的邮箱授予合适权限,邀请用户加入团队。
  3. 用户接受邀请后,回到指定App中打开TestFlight页面,找到内部测试点击“+”按钮。
  4. 输入测试团队名称。
  5. 在新的测试团队下,找到测试员点击“+”按钮。
  6. 选择参与测试的团队成员,等待他们接受邀请。

2.安装与测试应用

测试人员会收到一份邀请邮件,打开邮件并通过TestFlight应用安装测试版本。内部测试的最大优势在于,它不需要经过Apple的审核,构建版本上传后即可立即供测试人员安装和测试。

通过这些简单的步骤,开发者可以快速地进行内部测试,检查应用的基本功能和性能表现。一旦内部测试顺利完成,接下来就可以提交应用进行外部测试了。

外部测试

外部测试(External Testing)允许开发者邀请多达10000名测试人员,这使得你能够在更大规模的用户群体中测试应用,收集更广泛的反馈。然而,与内部测试不同,外部测试的构建版本需要经过Apple的审核,以确保符合基本的质量标准。以下是设置外部测试的步骤:

1.添加测试信息

在外部测试中,需要想Apple和测试人员提供详细的应用信息,包括测试目的和相关描述。这是审核的关键部分,确保提交的信息准确、简洁。

  1. 进入App Store Connect,选择TestFlight标签页。
  2. 点击外部测试的“+”添加外部测试团队。
  3. 点击综合信息选项,输入版本描述,反馈邮件,隐私网址,联系方式,审核图片等等一系列数据。
  4. 回到外部测试团队,点击构建版本,选择刚刚创建好的版本,准备提交审核。

2.提交审核

外部测试版本需要经过Apple的审核才能发布给测试人员。审核过程通常会在24-48小时内完成。提交审核后Apple会检查应用的基本功能、性能表现以及遵循App Store的审核标准,审核通过后,构建版本会被标记为Approve(已批准),点击开始测试,便可以邀请外部测试人员进行测试。

3.邀请测试人员

审核通过后,我们可以通过两种方式邀请外部测试人员:

  1. 通过电子邮件邀请:将测试人员的电子邮件地址添加到TestFlight中,他们会收到一封带有安装链接的邀请邮件。
  2. 公共链接:还可以通过生产一个公共链接,任何有用该链接的人都可以加入测试。这适合在大规模的外部测试中使用。

4.安装并测试

测试人员收到邀请后,通过TestFlight应用安装测试版本。每次构建更新后,测试人员会自动收到更新通知,方便持续测试最新版本。

5.收集反馈和崩溃日志

TestFlight会自动收集测试人员的反馈以及应用的崩溃日志,开发者可以通过App Store Connect查看这些数据并进行分析:

  • 反馈:测试人员可以直接在TestFlight中提交反馈,开发者可以查看每条反馈并与用户沟通。
  • 崩溃日志:TestFlight自动收集应用的崩溃日志,帮助开发者快速定位问题并优化引用。

通过这些步骤,我们就可以顺利启动外部测试,收集更广泛的用户反馈,并在正式发布前进行优化。TestFlight的外部测试不仅操作方便,还能让开发者高效管理测试流程,提升应用质量。

结语

通过TestFlight进行内部外部测试时iOS开发过程中不可或缺的一部分。它不仅简化了测试应用的分发流程,还为开发者提供了自动更新、崩溃日志收集、以及用户反馈等强大功能。通过邀请真实用户参与测试,开发者可以在应用正式发布前识别和解决潜在问题,从而提升应用的稳定性和用户体验。

无论是小规模的内部测试,还是更广泛的外部测试,TestFlight都为开发者提供了灵活的测试管理工具。充分利用这个平台,可以帮助你在应用发布前得到更加真实的反馈,确保你的应用在正式上线时表现出色。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐