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”中的产品类型“应用程序”需要代码签名