TestFlight是如何做到的?


197

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


很好的问题,但是我不确定这是否是主题。IMO,这是临界点。就是说,我也很想知道答案,所以+1
Moshe

如果它是iOS功能,那么它肯定会帮助我更好地了解配置。
hpique 2011年

12
@Moshe:您能解释一下为什么您认为这是题外话吗?
Besi 2012年

因此,问题与分发工具有关,而与编写代码无关。就是说,我差不多一年前写了我的评论。SO的环境略有不同。
Moshe 2012年

8
这个问题问得好。
骄傲的成员

Answers:


87

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

请记住-您仍然需要为一组选定的UDID签署Beta发行版,而不仅仅是愿意在任何设备上安装它。他们正在做的只是消除IPA的电子邮件。

看到:

更新:我想说测试飞行是我在开发时使用的最有用的工具之一。仅将IPA电子邮件排除在外是一种轻描淡写的说法-我只是想指出技术机制。他们在管理整个Beta流程方面做得非常出色。注册新设备。通知用户等


6
主页上显示免费,他们如何赚钱?
乔纳森。

1
我想他们将来会推出某种优质产品。现在它是免费的,新的SDK确实给人留下了深刻的印象。它可以直接从您的测试客户端收集崩溃日志和使用情况信息,如果您愿意上载dsym,甚至可以将它们符号化。
尼克,

7
令人印象深刻,只是我已经习惯了互联网上的“如果真的太好了,那就通常是这样:”
乔纳森(Jonathan)。

我怀疑他们会通过在生产中对其服务收费来赚钱,并保持Beta版服务免费。他们今天不正式支持生产使用,并且在其支持论坛中一直暗示即将推出的“生产解决方案”。
尼尔斯2012年

5
@尼克我认为您的答案并不完全正确。You still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device。对于企业发行配置文件,您不必指定设备,并且可以(至少在技术上)在任何设备上安装二进制文件。但是,许可证限制您仅将其安装在发行配置文件的发行公司内。
Besi 2012年

91

本文展示了苹果OTA实施的工作原理,以及如何在企业外部使用:ios无线应用分发

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

其他一些具有不同优势的解决方案:

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

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

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

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

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

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


5

如前所述,Testflight基本上使用常规的Ad Hoc。

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

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

此处记录了第一步:Apple OTA配置

我猜想Testflight在注册过程后会使用此权利来收集UDID,电话名称...


4

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

大概您会将UDID与该应用程序一起传递给TestFlight,他们将使用其企业许可证将应用程序发送给您。我确定我缺少很多技术细节,但是如果您想了解更多信息,Apple会提供有关WWDC 2010的视频。

登录到developer.apple.com,转到WWDC 2010视频,然后使用链接转到视频。您想要的视频是“会话108-管理移动设备”。这对OTA可以实现的功能以及您必须执行的OTA设置步骤非常有帮助。


0

普通的iOS设备对于从安装有该设备UDID的任何开发人员中加载Ad Hoc应用程序的用户运行来说是“脆弱的” ,并在Apple开发人员门户的100个允许的设备中注册该UDID。

OTA分发只是从已注册的开发人员安装临时beta测试分发的另一种方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.