令我困惑的是,代码符号标识需要输入两个条目。我不确定这在 Xcode 3 中是否相同,但在 Xcode 4 中我看到(在build设置中)类似这样的内容:
在“Distribution”的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 是否有相关记录?
最佳答案
这是一个新的Xcode4 UI,乍一看相当复杂。您应该阅读 Xcode 4 用户指南和 Xcode 4 转换指南。我会尝试解释一下...
让我们只关注“分布”行。它确实包含 iPhone Distribution。下面的行(任何 iOS SDK)确实包含更具体的设置,这些设置会覆盖“分发”行设置。换句话说,您可以为分发版本设置默认签名身份,但可以为特定 SDK 覆盖它。
您可以为调试、发布等执行此操作。这仅取决于您的设置/项目复杂性。
这些东西也可以在不同的级别进行设置 - iOS 默认、项目默认、目标默认。要查看这些级别,只需转到“build设置”并将“组合”切换到“级别” View (位于“build设置”选项卡下方)。在这里您可以找到所有级别的值。解析的列确实包含值,该值将被真正使用。
它就像一个矩阵,您可以在其中覆盖行中的默认/项目/目标设置,并在列中为特定 SDK 构建配置设置。
关于iphone - CODE_SIGN_IDENTITY[sdk=iphoneos*] 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5382236/