参考图片,我不明白如果我尝试研究时选择“调试”或“发布”是无用的,那么有什么意义。我们唯一需要签名的是“Any iOS SDK”。我还做了一个二进制差异来检查签名 Debug 和 Release 在 _CodeSignature/CodeResources 文件中是否没有区别。
任何人?
要在设备上运行任何应用程序,它需要由授权开发人员签名并包含有效的配置文件(由 Apple 签名),授予在设备上运行的权限。
为了将调试器附加到您的应用程序(或使用仪器),配置文件需要包含允许这样做的权利。
您在门户中生成的“开发”配置文件和证书允许您执行此调试,而发布配置文件(用于应用商店)禁用它。这就是为什么您为一个项目同时拥有“发布”和“调试”配置的原因,每个配置都选择了不同的配置文件/身份对。
“任何 iOS SDK”部分只是根据编译环境进一步更改构建设置的一种方式。例如,您可能希望在模拟器上运行时更改编译器设置(以禁用/启用某些测试功能)。
从技术上讲,签名身份不需要此“任何 iOS SDK”部分,并且默认情况下,当您创建 iOS 项目时,其他任何构建设置都没有此额外字段。你甚至可以删除它,但我不确定 Xcode 是否会正常运行。