iPhone SDK代码签名错误

时间:2009-10-22 16:18:57

标签: iphone code-signing-certificate

当我尝试为设备构建时,我收到此错误:

Code Sign error: The identity 'iPhone Distribution' doesn't match any identity in any profile

我:

  • 为发展而建设,而非发布。
  • 建设3.1.2
  • 运行SDK 3.1.2

我有:

  • 撤销并重新颁发有效证书
  • 使用显式应用名称(com.mycompany.appname)创建了新的Ap ID和新关联的配置文件,并将我的Bundle Identifier与其匹配(com.mycompany.appname)。
  • 选择我创建的特定配置文件作为我的代码签名标识。 (为了以防万一,我卸载了所有其他CSI。)重申:“iPhone发行版”未被选中!

我还应该规定,由于这个问题,它甚至不会开始构建代码(即使有一个干净的构建)。因此,当它尝试安装到设备时,它不会抛出此错误。

我还阅读了有关此问题的其他StackOverflow线程,但它们似乎正在构建分发而不是开发。

非常感谢任何帮助......

3 个答案:

答案 0 :(得分:1)

您确定没有安装3.1.2并且没有更新SDK(反之亦然)?次要版本号 非常重要,不匹配可能会导致此错误。

答案 1 :(得分:1)

从未真正找到其他人发布的解决方案,所以我正在分享我为解决此问题所做的工作。

我所做的是显示'.xcodeproj'的包内容,然后手动编辑那里的'project.pbxproj'文件。

查找名为“XCBuildConfiguration”的部分,您应该能够看到所有不同的配置。我手动删除了与代码签名相关的内容,例如:

CODE_SIGN_ENTITLEMENTS = dist.plist;
CODE_SIGN_IDENTITY = "iPhone Distribution: xxxx yyyy";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: xxxx yyyy";
PROVISIONING_PROFILE = "zzzzzzzzzzzzzzzzzzzzzzzz";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "zzzzzzzzzzzzzzzzzzzzzzzz";

剩下的就是以下内容:

buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                COPY_PHASE_STRIP = NO;
                GCC_DYNAMIC_NO_PIC = NO;
                GCC_OPTIMIZATION_LEVEL = 0;
                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                GCC_PREFIX_HEADER = xxx_Prefix.pch;
                INFOPLIST_FILE = "Info.plist";
                PRODUCT_NAME = xxx;
            };

如果有任何与代码签名相关的内容,您应该删除其他配置

答案 2 :(得分:0)

我在几天的时间里尝试了所有的东西,最后在脑子里想要创建一个新项目并添加回我的所有源文件。这似乎是当时的一个长镜头,但似乎有效。不知道为什么,但现在一切都很顺利。