需要三次XCode代码签名?

时间:2012-08-28 12:47:30

标签: ios xcode4 ios-provisioning provisioning-profile

当我进行adhoc构建时,我需要在adhoc的目标设置中设置配置文件,adhoc的项目设置,最后当它构建并准备分发时,我点击新组织器弹出'Distribute'并需要再次设置adhoc配置文件。

我想我在这里缺少一些理解,为什么我需要设置此配置文件3次?是不是只有一个地方我可以输入它(比如在组织者/分发按钮阶段)?

如果这确实是这个过程,任何人都可以解释为什么需要3次?

1 个答案:

答案 0 :(得分:1)

首先,目标设置将覆盖项目设置。与CSS类似的构建设置级联,您可以通过在查看目标的构建设置时启用“级别”选项来更清楚地看到这一点:

enter image description here

绿色高亮显示的框显示最终解析设置的来源。因此,在上面的屏幕截图中,您可以看到代码签名是从目标设置中获取的。项目级别的值将被忽略/覆盖。

通常,您希望避免这些多级别的设置,因为它可能会让您感到困惑并且您有冗余信息。

您的调试标识几乎总是应设置为“自动配置文件选择器”组下的“iPhone Developer”,并且应在项目级别定义(因为它对所有目标都是相同的)。您可以通过选择目标设置中的条目并按下删除来删除目标级别的此设置。绿色突出显示现在应该出现在项目级别:

enter image description here

对于您的发布和adhoc配置,您可能想要在目标级别选择特定的签名身份,因为理论上您可以在一个具有不同设置的项目中拥有多个应用程序目标。在项目级别,最好选择通用的“iPhone发行版”(自动配置文件选择器)选项,然后覆盖它。

在命令行上构建应用程序或从Xcode归档应用程序时,将使用这些设置构建和签署应用程序,并嵌入适当的配置文件。

如果您从管理器中选择“分发”选项,则可以完全撤消此已归档的应用程序,这就是再次提示您提供配置文件的原因。这意味着第三方开发人员可以为您开发应用程序,使用自己的签名信息对其进行归档,然后将其发送给您,然后您可以使用自己的私钥和应用程序商店的配置文件进行辞职。

应该可以跳过这个最后的辞职阶段,但我猜测过去有太多人犯过错误,所以Xcode会接管并为你做一切。