CODE_SIGN_IDENTITY[sdk=iphoneos*] 是啥意思

Posted

技术标签:

【中文标题】CODE_SIGN_IDENTITY[sdk=iphoneos*] 是啥意思【英文标题】:What does CODE_SIGN_IDENTITY[sdk=iphoneos*] meanCODE_SIGN_IDENTITY[sdk=iphoneos*] 是什么意思 【发布时间】:2011-03-21 18:54:42 【问题描述】:

我很困惑,有两个条目要输入代码签名身份。我不确定这在 Xcode 3 中是否相同,但在 Xcode 4 中我看到(在构建设置中)是这样的:

在“分发”的 project.pbxproj 中,它看起来像这样

            CODE_SIGN_IDENTITY = "iPhone Distribution";
            "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";

我在任何地方都找不到任何文档有什么区别,但也许我忽略了它(在文档中)。我对设置哪个感到困惑,现在我设置了两个。但我不喜欢“我不知道我在做什么,但我很管用”的感觉。在我看来,iPhone 开发不需要第一个(CODE_SIGN_IDENTITY)。因为对于“调试”和“发布”,自从我从 Xcode 3 迁移到 Xcode 4 并且在 project.pbxproj 中我只能看到“CODE_SIGN_IDENTITY[sdk=iphoneos*]”之后,我没有更改值。

回到我的问题,有谁知道“CODE_SIGN_IDENTITY[sdk=iphoneos*]”是什么意思,与 CODE_SIGN_IDENTITY 有什么区别,是否需要 CODE_SIGN_IDENTITY 以及 Apple 是否在任何地方都记录了这方面的内容?

【问题讨论】:

是的,我只在我的Xcode 3 project file 中看到CODE_SIGN_IDENTITY[sdk=iphoneos*] 【参考方案1】:

这是一个新的 Xcode4 UI,乍一看相当复杂。您应该阅读 Xcode 4 用户指南和 Xcode 4 过渡指南。我会试着解释一下...

让我们只关注分布行。它确实包含 iPhone 分发。下面的行(任何 ios SDK)确实包含更具体的设置,这些设置会覆盖分发行设置。换句话说,您可以为分发构建设置默认签名身份,但您可以为特定的 SDK 覆盖它。

您可以为 Debug、Release 等执行此操作。这仅取决于您的设置/项目复杂性。

这些东西也可以设置在不同的级别——iOS默认、项目默认、目标默认。要查看这些关卡,只需转到构建设置并将组合切换到关卡视图(就在构建设置选项卡下)。在这里您可以找到所有级别的值。已解析的列确实包含值,将真正使用。

它就像一个矩阵,您可以在其中连续覆盖默认/项目/目标设置,并在一列中为特定 SDK 构建配置设置。

【讨论】:

您可以自己尝试 - 选择分配线(或任何其他)并单击 + 按钮。将添加另一个 SDK 的配置,您可以微调此 SDK 的设置。

以上是关于CODE_SIGN_IDENTITY[sdk=iphoneos*] 是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

XCode-Project文件.pbxproj - 如何在Version Control中处理它?

如何使用 Ruby SDK 从 AWS 获取公共 IP 地址

java如何通过海康威视SDK捕捉ip摄像头流?

IP 摄像机移动应用 SDK 开发入门教程(安卓版)

vSphere SDK for Java - 从模板部署虚拟机并配置IP地址

Azure SDK:如何在运行时获取运行我的软件的当前计算机的公共 IP 地址?