TestFlight如何做到这一点?

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

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

请记住,您仍然需要在一组选定的UDID上签名,因为您无法将其安装在任何设备上。 他们所做的只是把电子邮件的IPA走出去。

看到:

更新:我想说的是,testing飞行是我在开发时使用的最有用的工具之一。 只是把IPA的电子邮件从图片中发出来是一个轻描淡写 – 我只是想调出技术机制。 他们在pipe理整个testingstream程方面做得很出色。 获取新设备注册。 通知用户等

本文展示了苹果OTA实现如何工作,并可以在企业外部使用: ios无线应用程序分发

完整的过程由Applelogging 。 苹果公司还发布了注册设备的文档和示例代码,并使用configuration文件获取UDID,因此您的网站可以检测到哪个设备正在调用。

一些额外的解决scheme具有不同的优势:

  • iOS Beta Builder ,Mac应用程序通过使用构build来创build网站。 只需将结果file upload到您的networking服务器。

  • Diawi :简单的Web服务。 上传您的IPA文件,可select设置密码并发送链接给您的testing人员。

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

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

  • HockeyApp :Web服务的testing版本托pipe,应用程序内更新,统计,包括设备注册,邀请和招聘。 还提供服务器端崩溃报告收集,符号化(适用于所有线程)以及testing版和app store应用(iOS + Mac)的崩溃分组。 SDK是开源的,使用HockeyKit , QuincyKit和PLCrashReporter (这是唯一一个关于如何在iOS上进行崩溃报告收集的安全解决scheme,请参阅本文 。

注意:我是HockeyKit和QuincyKit的主要开发者, 也是 HockeyApp的开发者之一。

Testflight基本上使用正常的Ad Hoc。

为此,您需要每个设备的UDID才能将其添加到Ad Hocconfiguration文件,使用新的configuration文件重新编译应用程序并重新分配新的构build版本。

您可以借助OTA身份validation请求获取UDID 。 这实际上是在将实际configuration文件转出到设备之前在MDM中完成的一个步骤。 它基本上要求设备了解自己的更多信息,并将其发送回自己指定的服务器。

第一步logging在这里: 苹果OTAconfiguration

我想Testflight在注册过程之后使用这个权限来收集UDID ,电话名称,…

是的,这是希望分发OTA的企业客户的iOS的核心function。

大概你会把你的UDID与应用程序一起传递给TestFlight,他们使用他们的Enterprise License将应用程序发送给你。 我相信我错过了很多技术细节,但如果你想知道更多,苹果公司从WWDC 2010上有一个video。

login到developer.apple.com,转到WWDC 2010video并使用链接进入video 。 您需要的video是“会话108 – pipe理移动设备”。 OTA的可能性以及OTA供应的步骤非常丰富。

股票的iOS设备对于运行用户从具有该设备的UDID的任何开发人员运行 Ad Hoc应用程序是“脆弱的”,并且在其开发者门户上的100个被允许的设备中注册UDID。

OTA发行版是从注册开发者安装Ad Hoc betatesting版发行版的另一种方式。