XCode中代码签名“Debug”或“Release”有什么意义?

时间:2013-03-21 15:43:49

标签: ios xcode security

CodeSigning

参考图片,我不明白如果我试图研究它是无用的,可以选择签署“调试”或“发布”是什么意思。我们唯一想要签名的是“Any iOS SDK”。我还做了一个二进制diff来检查签名Debug和Release在_CodeSignature / CodeResources文件中没有区别。

任何?

1 个答案:

答案 0 :(得分:11)

要在设备上运行任何应用,它需要由授权开发者签名,并包含有效的配置文件(由Apple签名),授予在设备上运行的权限。

为了将调试器附加到您的应用程序(或使用Instruments),配置文件需要包含允许此操作的权利。

您在门户网站中生成的“开发”配置文件和证书允许您执行此调试,而发布配置文件(对于应用商店)则禁用它。这就是为什么您同时拥有项目的“发布”和“调试”配置,每个配置都选择了不同的配置文件/标识对。

“Any iOS SDK”部分只是一种基于编译环境进一步更改构建设置的方法。例如,您可能希望在模拟器上运行时更改编译器设置(禁用/启用某些测试功能)。

从技术上讲,签名标识不需要此“任何iOS SDK”部分,并且在创建iOS项目时,默认情况下其他任何构建设置都不会有此额外字段。您甚至可以删除它,但我不确定Xcode是否会表现。