Xcode - 代码签名身份自动?

时间:2014-06-16 00:11:09

标签: ios objective-c xcode xcode5

构建设置标签下Xcode 5中Automatic代码签名标识的含义是什么?当我选择iOS Developer时,Debug和Release都使用它。我该怎么用?我是否可以使用iPhone Developer身份分发应用程序以进行重新发送?

我的配置文件(下面的设置)已正确设置(Debug使用Team provisioning profileRelease使用我的ad-hoc配置文件),代码签名之间有何不同身份设置和配置文件一?

以下是我所谈论的一些截图:

此外,当我将Automatic同时添加到DebugRelease时,它会将其标记为Don't code sign,为什么?

修改

iPhone Developer是否也适用于发布?我应该选择自动/ iPhone发布吗?

enter image description here

正如您所看到的,我对Xcode在代码签名身份中提出的所有设置感到困惑,因此欢迎任何关于每个设置的说明,谢谢!

2 个答案:

答案 0 :(得分:8)

自动设置应根据代码签名部分底部选项中设置的配置文件,自动使用正确的证书对您的应用进行签名。您可以显式设置代码签名标识以及配置文件,或将代码签名标识设置为自动。如果选择自动,Xcode将自动使用与配置文件关联的证书。

例如,如果Debug配置文件是开发配置文件,并且Release provisioning配置文件设置为ad hoc配置文件,那么当您构建并运行(通常使用Debug配置)时,Xcode将使用与开发配置文件关联的开发证书。如果您归档应用程序(通常使用发布配置),Xcode将使用与Ad Hoc配置文件关联的分发证书对您的应用程序进行签名。

基本上,这只是让Xcode根据配置文件决定应该使用哪种证书的方法。

“设置代码签名身份构建设置”部分here中的最后一行暗示了这一点,但并未过于明确。

  

将Provisioning Profile构建设置设置为开发配置文件   以及代码签名标识构建设置到您的开发   证书。

答案 1 :(得分:1)

代码签名背后的主要思想是证明应用程序是由您创建的,并且可以轻松检测应用程序中的任何更改。因此,在您选择配置文件后,Xcode会自动将代码签名身份构建设置设置为iOS应用程序的“iPhone Developer”。它运行正常,您的应用程序在下次构建时会进行代码签名。

thread通过屏幕截图回答您的具体问题。

Apple documentation也暗示 -

  

如有必要,请从“代码签名标识”弹出菜单中选择您的   开发证书。

     

对于iOS应用,请在配置配置文件菜单中选择证书   项目以文本“iPhone Developer:”开头,后跟您的   名。

关于自动配置文件选择器,这是Apple documentation所说的 -

  

您的配置文件或签名标识不会出现在Xcode中   菜单有时,您的配置文件或签名标识   未显示在“配置文件”或“签名标识”弹出窗口中   使用“设备”管理器或何时分发应用程序时的菜单   在项目编辑器中设置代码签名标识构建设置。   发生这种情况时,如上所述刷新Xcode中的配置文件   在“刷新Xcode中的配置文件”中。

     

如果您的配置文件仍未显示在代码签名中   身份构建设置菜单,选择“不代码签名”或证书   在“代码签名标识”菜单下的“自动配置文件选择器”下。   下次您选择代码签名标识菜单时,您的   配置文件应出现在菜单中。