iOS开发人员版本与发行版本

一段时间以来,我一直觉得对于iOS来说,使用开发人员configurationconfiguration文件签署构build允许应用程序通过XCode构build在授权设备(列在开发configuration文件中)上运行(并进行debugging),而使用分发configuration文件签名允许应用程序在其他iOS设备上运行(但不能debugging),这些设备专门添加到分发configuration文件中用于QA / betatesting/等目的(并通过iTunes同步或OTA分发安装) ,而不需要那些QA / betatesting人员甚至不知道XCode是什么。

似乎匹配几个苹果自己的文档:

“当您准备分享您的应用程序进行用户testing时,您需要使用分发configuration文件创build应用程序的存档,并将其发送给应用程序testing人员”( 来源 )

代码使用开发概要文件签名允许您的应用程序通过Xcode在设备上运行,使用分发概要文件进行签名可以创build分发版本。

名为“iPhone Developer”的证书允许您通过Xcode在iOS设备上运行/debugging您的应用程序,名为“iPhone Distribution”的证书允许使用Ad Hoc分发( 源代码 )

这似乎意味着使用分发configuration文件是必要的应用程序商店之外的应用程序共享,多年来,我一直认为这是真实的。 然而,最近我又看到了另外一个同事的用例,他们只用一个开发configuration文件就可以与其他人共享构build。 另一位用户在这里描述了类似的发现: 为什么不使用开发configuration而不是临时?

我担心我可能会在这里丢失一些东西,现在我怀疑有些情况下,只要其他用户可以访问相关的开发人员设置configuration文件(包括设备的UUID),并将其安装到设备上(拖入iTunes ,configuration实用程序等),他们将能够通过iTunes同步开发人员构build,而无需进行单独的分发版本。

这使我质疑了一些关于开发者和发行版本之间差异性质的假设。 我开始认为它更多的是关于debugging支持和一般的安装,而不是它的安装方式(XCode vs iTunes / OTA明确)。

简而言之,如果一个设备的UUID包含在开发者configuration文件中,我是否真的需要独立的发布版本,或者我可以简单地共享一个版本开发版本,并假设它也可以用于iTunes同步? 组织者中的“用于开发”button是否与此有真正的相关性?

更广泛地说,开发者和AdHoc之间在开发/testing阶段如何在组织内的其他人之间共享之前,在开发/testing阶段提交给App Store之前,根本区别是什么?

检查这个SO Post是否在开发者和发行版本之间列出了差异。 从开发人员的angular度来看,如果您不想testing推送通知,您是想通过使用开发人员configuration文件还是分发configuration文件对其进行签名来分发应用程序,则没有多大区别。