0

当我尝试为设备构建时出现此错误:

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 Distribution”!

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

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

任何帮助将非常感激...

4

3 回答 3

1

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

于 2009-10-22T16:23:49.133 回答
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;
            };

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

于 2010-02-04T08:52:37.673 回答
0

在几天的时间里,我尝试了所有方法,最终在脑海中浮现出一个新项目并添加回我所有的源文件。这在当时似乎是一个很长的目标,但它似乎奏效了。不知道为什么,但现在一切都很顺利。

于 2009-10-27T18:55:49.433 回答