繁体   English   中英

TestFlight 是如何做到的?

[英]How does TestFlight do it?

TestFlight 提供 iOS 应用程序的无线测试版分发(在非越狱设备上)。 如何做到这一点? 这是 iOS 功能还是漏洞利用?

这篇文章展示了苹果的 OTA 实现是如何工作的,也可以在企业外部使用: ios 无线应用分发

Apple 记录了完整的过程。 Apple 还发布了用于注册设备和使用配置文件获取 UDID 的文档和示例代码,以便您的网站可以检测到哪个设备正在调用。

一些不同强度的附加解决方案:

  • iOS Beta Builder ,一个使用构建创建网站的 Mac 应用程序。 只需将生成的文件上传到您的网络服务器。

  • Diawi :简单的网络服务。 上传您的 IPA 文件,可选择设置密码并向您的测试人员发送链接。

  • AppSendr :用于测试版托管的 Web 服务,类似于 Testflight,但不包括设备注册过程。 但提供部署实用程序来自动上传新版本。

  • HockeyKit :开源项目,用于在您自己的 PHP5 服务器上托管 beta 版本,并具有附加功能,例如用于应用程序内更新的客户端、自动设备特定网站和处理多个应用程序。 完全基于文件和目录。

  • HockeyApp :用于测试版托管、应用程序内更新、统计信息的 Web 服务,包括设备注册、邀请和招募。 还为测试版和应用商店应用程序(iOS + Mac)提供服务器端崩溃报告收集、符号化(针对所有线程)和崩溃分组。 SDK 是开源的,使用HockeyKitQuincyKitPLCrashReporter (这是如何在 iOS 上进行崩溃报告收集的唯一安全解决方案,请参阅本文

注:我的主要开发HockeyKitQuincyKit ,和开发商之一HockeyApp

在 TestFlight 推出服务之前,这是可能的。 该技术源于企业分配机制。 由于 4.0 设备已支持从 Web 安装。

请记住 - 您仍然需要为一组选定的 UDID 签署 beta 发行版,您不能随意将其安装在任何设备上。 他们所做的只是将 IPA 的电子邮件排除在外。

见:

更新:我想说 Test Flight 是我在开发时使用过的最有用的工具之一。 只是将 IPA 电子邮件从图片中删除是轻描淡写的 - 我只是想调用技术机制。 他们在管理整个测试过程中做得非常出色。 注册新设备。 通知用户等

如前所述,Testflight 基本上使用普通的 Ad Hoc。

为此,您需要每个设备的UDID以将其添加到 Ad Hoc 配置文件中,使用新配置文件重新编译应用程序并重新分发新版本。

您可以在 OTA 身份验证请求的帮助下获取UDID 这实际上是在将实际配置文件推出到设备之前在 MDM 中完成的一个步骤。 它基本上要求设备提供有关自身的更多信息,并将其发送回自己指定的服务器。

第一步记录在这里: Apple OTA Configuration

我猜 Testflight 会在注册过程后立即使用它来收集UDID 、电话名称、...

是的,这是 iOS 的一项核心功能,适用于希望分发 OTA 的企业客户。

大概您会将您的 UDID 与应用程序一起传递给 TestFlight,然后他们使用他们的企业许可证将应用程序发送给您。 我确定我遗漏了很多技术细节,但如果您想了解更多信息,Apple 有一个来自 WWDC 2010 的视频。

登录 developer.apple.com,转到WWDC 2010 Videos并使用链接访问视频 您想要的视频是“会话 108 - 管理移动设备”。 它对 OTA 的可能性以及执行 OTA 配置必须采取的步骤提供了非常丰富的信息。

股票 iOS 设备“容易” 运行 用户加载来自任何拥有该设备 UDID 的开发者的 Ad Hoc 应用程序,并在 Apple 开发者门户上的 100 台允许的设备中注册该 UDID。

OTA 分发只是从注册开发人员那里安装 Ad Hoc beta 测试分发的另一种方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM