我很困惑,有两个条目要输入代码签名。我不确定这在Xcode 3中是否相同,但在Xcode 4中我看到(在Build Settings中)这样的东西:
在“Distribution”的project.pbxproj中,它看起来像这个
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
我找不到任何文档有什么区别,但也许我忽略它(在文档中)。我很困惑要设置哪一个,现在我设置了两个。但我不喜欢“我不知道我在做什么,但我有效”的感觉。在我看来,iPhone开发不需要第一个(CODE_SIGN_IDENTITY)。因为对于“Debug”和“Release”,我没有更改值,因为我从Xcode 3迁移到Xcode 4并且在project.pbxproj中我只能看到“CODE_SIGN_IDENTITY [sdk = iphoneos *]”。
回到我的问题,有没有人知道“CODE_SIGN_IDENTITY [sdk = iphoneos *]”是什么意思,与CODE_SIGN_IDENTITY有什么不同,是否需要CODE_SIGN_IDENTITY以及Apple是否有关于此的任何记录?
答案 0 :(得分:3)
这是一个新的Xcode4用户界面,乍一看非常复杂。您应该阅读Xcode 4用户指南和Xcode 4过渡指南。我会试着解释一下......
让我们只关注分布行。它确实包含iPhone发行版。下面的行(任何iOS SDK)确实包含更多特定设置,这些设置会覆盖分发行设置。换句话说,您可以为分发版本设置默认签名标识,但您可以为特定SDK覆盖它。
您可以为调试,发布等执行此操作。这只取决于您的设置/项目复杂性。
这些东西也可以设置在不同的级别 - iOS默认,项目默认,目标默认。要查看这些级别,只需转到“构建设置”并切换“合并到级别”视图(位于“构建设置”选项卡下)。在这里,您可以找到所有级别的值。已解决的列确实包含值,这将是真正使用的。
它就像一个矩阵,您可以在其中覆盖行中的默认/项目/目标设置,并在列中构建特定SDK的配置设置。