2013-03-06 185 views
7

我一直觉得,对于iOS来说,使用开发人员配置配置文件签署构建允许应用程序在授权设备上运行(并进行调试)(列在开发中配置文件),而使用分发配置文件进行签名则允许应用程序在其他iOS设备上运行(但未调试),这些设备已专门添加到分发配置文件以用于QA/beta测试/ etc(并通过iTunes同步或OTA分发安装),而无需那些QA/beta测试人员甚至知道XCode是什么。iOS开发人员版本与发布版本

都是符合几个苹果自己的文档的:

“当你准备好分享您的用户测试应用程序[...],你需要 创建使用应用程序的存档发行配置 文件并将其发送到应用测试”(source

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

命名为“iPhone开发”的证书,您可以运行/调试通过Xcode的iOS设备上 的应用程序,并命名为“iPhone 分配”证书允许测试您提交建立与特设 分布(source

这似乎暗示了使用分布配置文件是在App Store之外进行应用程序共享所必需的,多年来我一直认为这是真实的。然而,最近我看到一个来自另一位同事的用例,他们只能使用开发配置文件与许多其他人共享构建。另一个用户在这里描述了类似的发现:Why not use development provisioning instead of ad hoc?

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

这让我质疑了一些关于开发者和发行版本之间差异性质的假设。我开始认为它更多的是关于调试支持和一般的安装方便性,而不是它的安装方式(XCode vs iTunes/OTA明确)。总之,如果一个设备的UUID包含在开发者配置文件中,我真的需要需要来做出独立的发布版本,或者我可以简单地共享一个发布版本构建,并假设它可以与iTunes同步以及?组织者中的“用于开发”按钮与此有什么实际相关性?

更广泛地说:开发者与AdHoc构建之间在开发/测试阶段提交给App Store之前如何在组织内的其他人之间共享的基本区别是什么?

+0

临时构建用于在组织内分发。 – 2013-03-06 08:45:10

回答

2

请检查此SO Post,了解开发人员与分发版本之间列出的差异。从开发人员的角度来看,如果您不想测试推送通知,您是想通过使用开发人员配置文件还是分发配置文件进行签名来分发应用程序,则没有太大区别。

+0

您能否详细说明测试推送通知方面的差异? – 2013-03-06 08:18:33

+1

生成的设备令牌在开发和分发时不同。如果要在推出到应用商店之前测试推送消息,则唯一可用的选项是创建临时分发版本。 – ashokbabuy 2013-03-06 08:27:45

+0

不,可以使用开发人员构建测试推送通知。在我目前的项目中,我已经这样做了近3年。 – 2013-03-06 08:40:17