CODE_SIGN_IDENTITY[sdk=iphoneos*] 是什么意思

hol*_*hol 5 iphone sdk xcode xcode4

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

配置

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

            CODE_SIGN_IDENTITY = "iPhone Distribution";
            "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
Run Code Online (Sandbox Code Playgroud)

我在任何地方都找不到任何文档有什么区别,但也许我忽略了它(在文档中)。我对设置哪一个感到困惑,现在我设置了两个。但我不喜欢“我不知道我在做什么,但我很有效”的感觉。在我看来,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 是否在任何地方都有关于此的记录?

zrz*_*zka 4

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

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

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

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

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