我有完全相同的错误,并在阳光下尝试了一切,包括本页其他地方的内容,但没有成功 . 对我来说问题是,在Keychain Access中,实际的Apple WWDR证书被标记为“ Always Trust ". It needed to be " System Defaults ". That goes for your Development and Distribution certificates, too. If any of them are incorrectly set to " Always Trust ”,这显然会导致此问题 .
因此,在Keychain Access中,单击Apple Worldwide Developer Relations Certificate Authority证书,选择 Get Info . 然后,展开信任设置,并为“ When using this certificate: ", choose " System Defaults ”组合框 .
24 回答
我从你提到的代码签名中得到了同样的未知错误 . 类似于提供的答案(但有点不同),我只是锁定了我的钥匙串访问并解锁了它,我能够再次构建并运行到我的设备 . 如果有人有同样的问题,也许在尝试修改密钥链密码之前先尝试一下 .
我刚刚遇到这个错误,这是我发现的,以防万一:我发现您可以右键单击Xcode中的错误消息并选择展开以获取更多详细信息,包括问题的描述 .
就我而言,我在不同的钥匙串文件中有两个同名的开发人员证书副本,而Xcode无法确定使用哪一个 .
有时您的构建文件夹只需要清理 - 它肯定对我有用 . 感谢loafer-project的解决方案 .
一个可能的原因是您没有在构建目录上写入的权限 .
Solution: 删除项目文件夹中的所有构建目录并重建应用程序 .
在终端中打开项目路径,在终端中输入以下命令
1) find . | xargs -0 xattr -c
2) xattr -rc .
这对我有用 .
我刚刚遇到这个错误,这是因为我试图将构建文件写入无法正常工作的网络驱动器 . 从我的桌面再次尝试,它工作得很好 . (移动后可能需要“清理”构建 . 只需从“构建”下拉菜单中选择“清除所有目标”) .
Tobias是正确的,通过右键单击它来查看代码的详细信息,看看你的具体问题是什么 .
您需要注意的一件事(这是我犯的一个愚蠢的错误,但它确实发生了),是附加到CSR的电子邮件地址需要与连接到Apple Dev帐户的电子邮件地址相同 . 一旦我使用了新的CSR并重建了所有的证书和配置文件,所有这些都非常适合在applesville .
另一个原因,检查您的开发者帐户是否与xCode连接
有点老问题,但似乎仍然发生 . 另一种方案:
在git中恢复分支后发生在我身上 . 尝试清理,清理构建,删除派生和重新启动Xcode,但没有运气 .
尝试重新启动comp .
Update:
原始答案中的技术说明现已弃用 . Apple在一份新文档中发布了一系列代码签名问题(以及一些解决方案):Technical Note TN2407 Code Signing Troubleshooting Index
检查构建设置中的CODE_SIGN_IDENTITY属性 . 您的配置文件是否在那里选择?
您还需要在应用.plist中输入有效的包标识符 .
标识符必须与生成配置文件时提供的标识符相匹配 .
Apple有一个技术手段here .
我有完全相同的错误,并在阳光下尝试了一切,包括本页其他地方的内容,但没有成功 . 对我来说问题是,在Keychain Access中,实际的Apple WWDR证书被标记为“ Always Trust ". It needed to be " System Defaults ". That goes for your Development and Distribution certificates, too. If any of them are incorrectly set to " Always Trust ”,这显然会导致此问题 .
因此,在Keychain Access中,单击Apple Worldwide Developer Relations Certificate Authority证书,选择 Get Info . 然后,展开信任设置,并为“ When using this certificate: ", choose " System Defaults ”组合框 .
其他人评论说,您可能必须在 System 和 login 钥匙串中执行此操作以解决这些错误 .
对于Xcode 9.0中的codesign问题,这可能是一个奇怪的答案 . 我也收到了这个错误,不知道该怎么做,因为一切都是正确的 .
我去了钥匙串,我有登录选项“解锁” . 我锁定它并再次编译我的构建 . Xcode本身让我打开访问钥匙串 . 我提供了访问权限并且有效 .
步骤是:
转到钥匙串
锁定它
归档代码,再次构建项目
我在分发版本中遇到了同样的问题 . 它突然发生了 . 事实上,几天前我没有遇到这个问题,我的Ad-Hoc版本编译正确 . 出现此问题是因为我的证书今天刚过期 . 所以我按照Apple的指导创建了一个新的临时文件:(http://developer.apple.com/ios/manage/distribution/index.action) .
在网上花了几个小时后,确保我没有因为什么可能出错而摔倒 . 根据Tobias和Dan Ray的建议,这就是拯救我的原因:
"...discovered that you can right click the error message in Xcode to view details" .
"...the issue was an expired certificate on my System keychain. Keychain Access doesn't, by default, show expired certs" .
详细信息告诉我有关两个证书的模糊匹配 . 其中一个恰好是系统密钥链中的过期证书 . 所以我删除了过期的,然后它工作了!在使用钥匙串实用程序创建分发证书时,我还担心要在“通用名称”中输入什么:我的名字或我的公司名称 . 在我的情况下,我输入了我的名字 . 我猜它与开发人员的自动回复邮件所解决的 Headers 相同 .
很好的帮助 . 谢谢 .
当你遇到这种错误时可能有很多原因:
检查您是否在设置中选择了包含有效 Code Signing Identity 和有效 Bundle Identifier 的配置文件 . (转到构建设置 - >签名 - >供应配置文件) .
打开 Keychain Access 并单击左上角的锁定图标,这样它将锁定登录钥匙串,然后再次单击解锁 .
对我有用的是在Build Settings中将
--deep
添加到 Other Code Signing Flags . 更多信息:Codesign of Dropbox API fails in Xcode 4.6.3: "code object is not signed at all"不幸的是,这种模糊的错误条件有400种不同的解决方案,但我离题了 .
如果紧跟在协同设计错误之前的错误表示“资源分叉,查找程序信息或类似碎屑不允许”
然后导航到终端中的.app文件并键入:
xattr -cr <path_to_app_bundle>
ref:https://developer.apple.com/library/content/qa/qa1940/_index.html
我有同样的问题 . 最后,事实证明我的私钥不允许代码签名访问它 . 可以在钥匙串应用程序的信息对话框中看到这一点 .
我不得不同意托比亚斯 . 错误太通用了 . 当同样的事情发生在我身上时,我挖掘了错误信息并意识到我搞砸了构建属性中的某些东西,但没有代码签名 . 所以,是的,我会深入了解细节 .
在我的情况下,错误是由于我在钥匙串上有两个同名的钥匙 . 我删除了旧的一个,这解决了这个问题 .
转到详细消息向我展示了真正的问题 .
经过几个小时的谷歌搜索和尝试不同的东西,这就是为我解决的问题:
确保Keychain Access上的系统>证书选项卡中没有证书 . 从那里删除所有重复的证书 .
除了开发人员证书之外,还要在供应门户网站的证书下安装WWDR中间证书,并确保在Keychain Access的“登录”>“证书”选项卡中看到它 .
希望这有助于你们中的一些人!
同样的问题与模糊(匹配“iPhone开发人员:[我]”和/// tweetdeck的库privatedata文件 . 通过将文件移动到垃圾箱并重新登录到Tweetdeck,再次设置密码来修复它 . 真是太痛苦了 .
我遇到了同样的问题,但错误日志中也列出了这个:CSSMERR_TP_CERT_NOT_VALID_YET
查看KeyChain中的证书显示了类似的消息 . 问题是由于我的Mac系统时钟设置不正确 . 一旦我设置了正确的区域/时间,证书就被标记为有效,我可以在iPhone上构建并运行我的应用程序
我也收到了这个错误(“/ usr / bin / codesign失败,退出代码为1”),当我查看Keychain Access时,我的开发人员证书被标记为“此证书由未知权限签名” . 我最近升级到Mac OS 10.8并且从那以后还有其他一些XCode(4.5.2)问题 . 事实证明我没有安装WWDR中间证书 . 我从iOS Provisioning Portal下载了,安装在Keychain Access中,我的项目再次构建!
当我收到此错误时,我甚至没有尝试签署该应用程序 . 我正在写一个测试应用程序而不关心签名 . 为了摆脱这个消息,我不得不在代码签名下的Build Settings中选择“Do not Code Sign” .