命令/usr/bin/codesign执行失败,退出代码为5。

13

我最近将Mac OS从10.11升级到10.12,现在无法在Xcode 8.0中签署我的iOS应用程序。

我收到了以下错误信息:

CodeSign /Users/aymericpitre/Library/Developer/Xcode/DerivedData/OrpiDirect-ghphwnhfbtdulhgauptikzmsrqdi/Build/Products/Debug-iphoneos/OrpiDirect.app

cd /Users/aymericpitre/Documents/projets/Ville-de-lyon-iPhone/VilleDelyon_git/ville_de_lyon

export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Developer: aymeric xxxx (SYC4JR6K8G)"
Provisioning Profile: "VDL-sierra"
                      (756b4f3a-26aa-4937-ba40-4cc4eea03e92)

/usr/bin/codesign --force --sign D60599B3AE74EE1D4863C249026FA28545A07689 --entitlements /Users/aymeric/Library/Developer/Xcode/DerivedData/OrpiDirect-ghphwnhfbtdulhgauptikzmsrqdi/Build/Intermediates/OrpiDirect.build/Debug-iphoneos/OrpiDirect.build/OrpiDirect.app.xcent --timestamp=none /Users/aymeric/Library/Developer/Xcode/DerivedData/OrpiDirect-ghphwnhfbtdulhgauptikzmsrqdi/Build/Products/Debug-iphoneos/OrpiDirect.app

/usr/bin/codesign 命令执行失败,退出代码为 5

配置文件似乎没问题,因为我在 Xcode/preferences/accounts 窗口中找到了它。

我尝试在派生文件夹内运行 xattr -c * 命令,但它没有起作用。


你找到解决方案了吗? - William Grand
不好意思,我想我要在另一个启动分区上安装El Captain并在其上安装Xcode。下次在进行OSX更新之前,我会使用Time Machine! - Aymeric Pitre
我找不到解决方案。我在另一台机器上尝试了相同的过程,并且成功了。我认为某些东西可能已经损坏了,但我不知道是什么。 - William Grand
我会在这个周末进行一次清晰的新安装,完成后我会通知你。非常感谢你的尝试 ;) - Aymeric Pitre
我已经重新安装了Xcode,但是我还是遇到了同样的问题。在安装Sierra之前,Xcode正常运行,但是在此之后,每当我尝试存档或在设备上运行时,它就会出现错误。有人能帮忙吗? - Habib Ali
我对此有一个非常可怕的答案。我不知道我的系统中出了什么问题,但是经过多次重新安装和删除Xcode后仍然没有解决问题。所以我格式化了我的硬盘并重新安装了Mac OS Sierra和Xcode 8,这解决了问题。 - Habib Ali
5个回答

3
我终于解决了问题。在深入研究内部日志后,我意识到问题来自钥匙链。我尝试使用 GUI 删除所有条目,但一个无法删除(名为“1”)。
因此,我不得不删除整个钥匙链文件夹: rm -rf /Users/my_user/Library/Keychains 重启 Mac,重新安装密钥,一切都如预期地正常工作。
免责声明:首先备份所有必要的密钥!(在删除之前导出)。对于像 Chrome 登录这样的服务,您需要重新输入凭据。

这对我有用。我也遇到了同样的问题,当我尝试删除第一个“1”键时,Keychain会崩溃。备份后,删除所有内容并重新安装后,我再次能够进行代码签名。非常感谢您的发布!我已将此转发给苹果公司。 - k k
在苹果开发者论坛上留言,只是删除有问题的“1”键也可能起作用。 - k k
这对我也起作用了。我只是删除了“1”个神秘键,然后就没问题了。非常好的工作,Alex R. R.,非常感谢! - Aymeric Pitre

2

关于这个问题我有一个非常可怕的答案。我不知道我的系统中发生了什么损坏,尽管我进行了多次重新安装和删除Xcode,但问题仍未解决。所以我格式化了我的硬盘并重新安装了Mac OS Sierra和Xcode 8,这解决了问题。


1
尝试在“窗口”选项卡下的“组织者”中查看您设备上的预配文件。然后重新添加它们(从苹果网站上再次下载)。然后再次尝试编译。

0

我在钥匙串访问中删除了一个名为“1”的密钥。

然后Xcode开始工作了!


嗨,请尽量避免重复答案。用户“Alex R. R.”在去年已经回答了这个问题。 - jose920405
这是程序相关内容的翻译:它不是副本,因为我只删除了“1”,然后它就正常工作了。无需删除所有内容。 - sandrom
@jose920405 我并没有复制AlexR. R.的答案,这是我自己的实验,所以我并不建议删除所有的钥匙串。我只是说要删除一个名为“keychain”的钥匙串。 - user3877214

0

Xcode 8 允许您自动签名。您需要在设置->常规中选择您的目标。然后您将看到像图像上的复选框:

enter image description here

当您勾选此复选框时,您需要选择您的团队(就像图像中的红色矩形一样)。之后,Xcode将为您的应用程序创建一个团队配置文件,并自动签名您的应用程序。
附注:如果您在团队下拉框中看不到您的团队,您需要前往Xcode->首选项:

enter image description here

接下来,您需要进入“账户”选项卡 -> 点击“+”按钮:

enter image description here

之后,您的团队和开发者账户将会出现在团队 Dropbox 中,就像第一张图片中一样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接