iPhone SDK 代码签名错误

Posted

技术标签:

【中文标题】iPhone SDK 代码签名错误【英文标题】:iPhone SDK Code Sign Error 【发布时间】:2009-10-22 16:18:57 【问题描述】:

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

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) 创建了新的应用程序 ID 和新的关联配置文件,并将我的包标识符 (com.mycompany.appname) 与它匹配。 选择了我创建的特定配置文件作为我的代码签名身份。 (为了以防万一,我卸载了所有其他 CSI。)重申一下:未选择“iPhone Distribution”!

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

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

任何帮助将不胜感激......

【问题讨论】:

在调用主项目文件的选项时,以及从目标调用它时,仔细检查您是否没有进入 iPhone Distribution。并且这些设置适用于正确的构建配置。 感谢 SanHolo,我仔细检查过,这方面一切正常。 【参考方案1】:

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

【讨论】:

我在 SDK 和手机上更新到 3.1.2。同样的问题。由于这个问题,我应该规定它甚至不会开始构建代码(即使有一个干净的构建)。所以它在尝试安装到设备时不会抛出这个错误。【参考方案2】:

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

我所做的是显示“.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;
            ;

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

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于iPhone SDK 代码签名错误的主要内容,如果未能解决你的问题,请参考以下文章

iPhone 应用程序代码签名错误 - “...签名无效...”

代码签名错误:SDK“iOS 11.4”中的产品类型“应用程序”需要代码签名

代码签名错误:SDK“iOS 11.0”中的产品类型“应用程序”需要代码签名

Xcode 错误:SDK“iOS 10.0”中的产品类型“应用程序”需要代码签名

CodeSign 错误:SDK“iOS 5.1”中的产品类型“应用程序”需要代码签名

代码签名错误:身份“iPhone 开发人员:x Xxxxx”与任何配置文件中的任何身份都不匹配