我正在尝试部署我的第一个开发iPhone应用程序,并遇到了一些问题。我已成功通过在线配置助手,但现在我卡住了。无论我做什么,我总会得到以下错误。
/ usr / bin / codesign失败,退出代码为1
任何人都有任何想法为什么会这样?
答案 0 :(得分:54)
<强>更新强>
原始答案中的技术说明现已弃用。 Apple在新文档中发布了一系列代码签名问题(以及一些解决方案):Technical Note TN2407 Code Signing Troubleshooting Index
检查构建设置中的CODE_SIGN_IDENTITY属性。您的配置文件是否在那里选择? 您还需要在应用.plist中输入有效的捆绑包标识符 标识符必须与生成配置文件时提供的标识符相匹配 Apple有一个关于here的技术说明。
答案 1 :(得分:25)
我刚刚遇到了这个错误,这就是我发现的情况,以防万一:我发现您可以右键单击Xcode中的错误消息并选择展开以获取更多详细信息,包括问题描述。 / p>
在我的情况下,我在不同的钥匙串文件中有两个同名的开发人员证书副本,Xcode无法确定使用哪一个。
答案 2 :(得分:16)
Xcode 9.0中的codeign问题可能是一个奇怪的答案。我也收到了这个错误,不知道该怎么做,因为一切都是正确的。
我去了钥匙串,我有登录选项&#34;解锁&#34;。我锁定它并再次编译我的构建。 Xcode本身让我打开访问钥匙串。我提供了访问权限并且有效。
步骤是:
答案 3 :(得分:13)
我有完全相同的错误,并在阳光下尝试了一切,包括本页其他地方的内容,但没有成功。对我来说问题是,在Keychain Access中,实际的Apple WWDR证书被标记为“始终信任”。它必须是“系统默认值”。这也适用于您的开发和分发证书。如果其中任何一个被错误地设置为“始终信任”,则显然会导致此问题。
因此,在Keychain Access中,单击Apple Worldwide Developer Relations Certificate Authority证书,选择获取信息。然后,展开信任设置,对于“使用此证书时”的组合框,选择“系统默认值”。
其他人评论说,您可能必须在这些错误的系统和登录钥匙串中执行此操作。
答案 4 :(得分:8)
当你遇到这种错误时可能有很多原因:
答案 5 :(得分:6)
我在分发版本中遇到了同样的问题。它突然发生了。事实上,几天前我没有遇到这个问题,我的Ad-Hoc版本编译正确。出现此问题是因为我的证书今天刚过期。所以我按照Apple的指导创建了一个新的临时文件:(http://developer.apple.com/ios/manage/distribution/index.action)。
在网上花了几个小时后,确保我没有因为什么可能出错而摔倒。根据Tobias和Dan Ray的建议,这就是拯救我的原因:
详细信息告诉我关于两个证书的模糊匹配。其中一个恰好是系统密钥链中的过期证书。所以我删除了过期的那个然后它工作了!在使用钥匙串实用程序创建分发证书时,我还担心要在“通用名称”中输入什么:我的名字或我的公司名称。在我的情况下,我输入了我的名字。我猜它与开发人员的自动回复邮件所解决的标题相同。
很好的帮助。感谢。
答案 6 :(得分:2)
对我有用的是在构建设置中将--deep
添加到其他代码签名标志。
更多信息请访问:Codesign of Dropbox API fails in Xcode 4.6.3: "code object is not signed at all"
不幸的是,这种模糊的错误条件有400种不同的解决方案,但我离题了。
答案 7 :(得分:2)
如果在编码符号错误之前的错误说“资源分叉,查找程序信息或类似碎屑不允许”,
然后导航到终端中的.app文件并输入:
xattr -cr&lt; path_to_app_bundle&gt;
参考:https://developer.apple.com/library/content/qa/qa1940/_index.html
答案 8 :(得分:1)
同样的问题与模糊(匹配“iPhone开发人员:[我]”和/// tweetdeck的库privatedata文件。通过将文件移动到垃圾箱并重新登录到Tweetdeck,再次设置密码来修复它。真是太痛苦了。
答案 9 :(得分:1)
在我的情况下,错误是由于我在钥匙串上有两个同名的钥匙。我删除了旧的,解决了这个问题。
转到详细信息向我展示真正的问题。
答案 10 :(得分:1)
我遇到了同样的问题,但错误日志中也列出了这个:CSSMERR_TP_CERT_NOT_VALID_YET
查看KeyChain中的证书显示了类似的消息。问题是由于我的Mac系统时钟设置不正确。一旦我设置了正确的区域/时间,证书就被标记为有效,我可以在iPhone上构建和运行我的应用程序
答案 11 :(得分:1)
我也收到了这个错误(“/ usr / bin / codesign失败,退出代码为1”),当我查看Keychain Access时,我的开发者证书被标记为“此证书由未知权限签名”。我最近升级到Mac OS 10.8并且从那时起还有其他一些XCode(4.5.2)问题。事实证明我没有安装WWDR中间证书。我从iOS Provisioning Portal下载了,安装在Keychain Access中,我的项目再次构建!
答案 12 :(得分:1)
确保系统中没有证书&gt; Keychain Access上的Certificates选项卡。从那里删除所有重复的证书。
除了开发人员证书之外,还要在配置门户的证书下安装WWDR中间证书,并确保在Login&gt;中看到它。 Keychain Access上的证书选项卡。
希望这有助于你们中的一些人!
答案 13 :(得分:1)
当我收到此错误时,我甚至没有尝试签署该应用。我正在编写一个测试应用程序,并不关心签名。 为了摆脱这个消息,我不得不选择“不要代码签名”#34;来自代码签名下的构建设置。
答案 14 :(得分:1)
有时你的构建文件夹只需要清理 - 它肯定对我有用。感谢loafer-project解决方案。
答案 15 :(得分:1)
我遇到了同样的问题。最后,事实证明我的私钥不允许代码签名访问它。人们可以在钥匙串应用程序的信息对话框中看到这一点。
答案 16 :(得分:1)
我必须同意托比亚斯。错误太普遍了。当同样的事情发生在我身上时,我挖掘了错误信息并意识到我搞砸了构建属性中的某些东西,但没有代码签名。所以,是的,我会深入了解细节。
答案 17 :(得分:0)
就我而言,经过几天的研究,
我所做的所有旋转工作如下:
这应该适用于类似的代码签名问题。
请注意,在此过程中,操作系统将要求您进行凭据验证。
答案 18 :(得分:0)
扔掉我的评论,我只是在偶然地在一个应用程序请求上单击DENY之后尝试刷新我的开发环境之后才发现这个问题,在四处寻找之后,我发现许多事情似乎没有用。这是我尝试修复的全部顺序,以及是否成功:
1)试图清除DerivedFiles并重新启动XCode-没有骰子
2)尝试登录并解锁钥匙串,然后重新启动XCode-没有骰子
3)尝试在XCode中刷新我的开发者帐户-没有骰子
4)硬着头皮,只是重置我的整个钥匙串,这样做后,我的开发人员帐户已注销(重新登录),然后重新启动XCode-没有骰子
5)在此处找到一篇文章,说我们需要将[login | local | System] / certificate / Apple Worldwide Developer Relations证书颁发机构设置为“系统默认值”。但就我而言,它已经设置为系统默认值-没有骰子
6)然后,我查看了实际的开发人员证书登录名/我的证书/ Mac Developer:当我在其中查看时,在允许访问之前,它已正确设置为Confirm,但在下部没有任何条目。应该有[Xcode,codesign,productbuild]。我删除了证书条目,然后重新启动了XCode-Bingo
已添加证书,然后提示我。所以我做了什么,我按了“ allow allow”(总是允许),然后勉强自己。
我不得不回过头来再次删除证书,然后在干净的构建过程中经历了大约20个允许对话框。完成后,我就可以完全构建。
答案 19 :(得分:0)
您提到的代码签名中存在相同的未知错误。与提供的答案类似(但有所不同),我只是锁定了钥匙串访问权限并对其进行了解锁,因此能够再次构建并运行到我的设备上。如果有人遇到相同的问题,请先尝试一下,然后再解决修改钥匙串密码的麻烦。
答案 20 :(得分:0)
有点老问题,但似乎仍然会发生。另一种解决方案:
在git中恢复分支后发生在我身上。 尝试清理,清理构建,删除派生和重新启动Xcode,但没有运气。
尝试重启comp。
答案 21 :(得分:0)
答案 22 :(得分:0)
一个可能的原因是您没有权限在构建目录上写入。
解决方案:删除项目文件夹中的所有构建目录并重建您的应用程序。
答案 23 :(得分:0)
您需要注意的一件事(这是我犯的一个愚蠢的错误,但它确实发生了),是附加到CSR的电子邮件地址需要与连接到Apple Dev的电子邮件地址相同帐户。一旦我使用了新的CSR并重建了所有的证书和配置文件,所有这些都在appleville中很好。
答案 24 :(得分:0)
我刚遇到此错误,原因是我试图将构建文件写入无法正常工作的网络驱动器。从我的桌面再次尝试,它工作得很好。 (移动后可能需要“清理”构建。只需从“构建”下拉菜单中选择“清除所有目标”。)
Tobias是正确的,通过右键单击它来查看代码的详细信息,看看你的具体问题是什么。
答案 25 :(得分:-1)
在终端中打开项目路径,然后在终端
中输入以下命令1)找到。 | xargs -0 xattr -c
2) xattr -rc。
这适合我。