197

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

4

5 回答 5

91

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

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

一些具有不同优势的附加解决方案:

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

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

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

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

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

注:我是HockeyKitQuincyKit的主要开发者,也是HockeyApp的开发者之一。

于 2011-02-12T10:16:34.867 回答
87

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

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

看:

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

于 2011-02-11T19:45:02.957 回答
5

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

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

您可以UDID在 OTA Authentication Request 的帮助下获得。这实际上是在将实际配置文件部署到设备之前在 MDM 中完成的一个步骤。它基本上向设备询问有关其自身的更多信息并将其发送回自定义服务器。

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

我猜 Testflight 在注册过程之后就使用它来收集UDID电话名称......

于 2012-01-23T10:30:28.530 回答
4

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

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

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

于 2011-02-11T21:09:26.160 回答
0

库存 iOS 设备“容易”运行用户从拥有该设备的 UDID 的任何开发人员那里加载 Ad Hoc 应用程序,并在 Apple 开发人员门户上的 100 个允许的设备中注册该 UDID。

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

于 2011-02-11T20:41:28.063 回答