一段时间以来,我一直认为对于 iOS,使用开发人员配置文件签署构建允许应用程序通过 XCode 构建在授权设备(在开发配置文件中列出)上运行(并调试),而使用分发配置文件签名允许应用程序在其他 iOS 设备上运行(但不调试),这些设备已专门添加到分发配置文件中,用于 QA/beta 测试/等(并通过 iTunes 同步或 OTA 分发安装) ,甚至不需要那些 QA/beta 测试人员知道 XCode 是什么。
似乎与苹果自己的几个文档相匹配:
“当您准备好共享您的应用程序以供用户测试 [...] 时,您需要使用分发配置文件创建应用程序存档并将其发送给应用程序测试人员”(来源)
和
使用开发配置文件进行代码签名允许您的应用程序通过 Xcode 在设备上运行,使用分发配置文件签名允许您创建分发版本。
名为“iPhone Developer”的证书允许您通过 Xcode 在 iOS 设备上运行/调试您的应用程序,名为“iPhone Distribution”的证书允许使用 Ad Hoc 分发测试您的提交构建(来源)
这似乎意味着使用分发配置文件是在 App Store 之外进行应用共享所必需的,多年来我一直认为这是正确的。然而,最近,我从另一位同事那里看到了一个用例,他们能够仅使用开发配置文件与许多其他人共享构建。另一位用户在这里描述了一个类似的发现:Why not use development provisioning instead of ad hoc?
我担心我可能会在这里遗漏一些东西,我现在怀疑在某些情况下,只要另一个用户可以访问包含其设备 UUID 的相关开发人员配置文件,并将其安装在他们的设备上(拖入 iTunes ,配置实用程序等),他们将能够通过 iTunes 同步开发人员构建,而无需进行单独的分发构建。
这让我质疑我对开发人员和发行版本之间差异的本质所做的一些假设。我开始认为它更多的是关于调试支持和一般的安装简易性,而不是它的安装方式(XCode 与 iTunes/OTA 明确)。
简而言之,如果设备的 UUID 包含在开发人员配置文件中,我真的需要进行单独的分发构建,还是我可以简单地共享发布开发构建并假设它也可以与 iTunes 同步一起使用?组织者中的“用于开发”按钮是否与此有任何实际相关性?
更广泛地说:Developer 和 AdHoc 构建在提交到 App Store 之前如何在开发/测试阶段在组织内的其他人之间共享方面的根本区别是什么?