82

我正在尝试部署我的第一个开发 iPhone 应用程序,但遇到了一些问题。我已经成功地通过了在线供应助手,但现在我被卡住了。无论我做什么,我总是得到以下错误。

/usr/bin/codedesign 失败,退出代码为 1

有人知道为什么会这样吗?

4

27 回答 27

55

更新:
我原始答案中的技术说明现已弃用。Apple 在新文档中发布了一系列代码签名问题(和一些解决方案):技术说明 TN2407 代码签名故障排除索引

检查构建设置中的 CODE_SIGN_IDENTITY 属性。那里选择了您的配置文件吗?
您还需要在您的应用程序 .plist 中输入有效的捆绑包标识符。
标识符必须与您在生成配置文件时提供的标识符相匹配。
Apple 有一个关于的技术说明。

于 2009-07-07T09:33:41.773 回答
25

我刚刚遇到了这个错误,如果这对任何人都有帮助,我发现了以下内容:我发现您可以右键单击 Xcode 中的错误消息并选择展开以获取更多详细信息,包括对问题的描述。

就我而言,我在不同的钥匙串文件中有两份同名的开发人员证书副本,而 Xcode 无法确定要使用哪一份。

于 2010-02-08T12:14:09.377 回答
18

对于 Xcode 9.0 中的协同设计问题,这可能是一个奇怪的答案。我也收到了这个错误,不知道该怎么做,因为一切都是正确的。

我去了钥匙串,我的登录选项“解锁”了。我锁定它并再次编译我的构建。Xcode 本身要求我打开访问钥匙串。我提供了访问权限并且它起作用了。

步骤是:

  1. 转到钥匙串
  2. 锁定它
  3. 归档代码,再次构建项目
于 2018-02-07T18:14:07.247 回答
14

我遇到了完全相同的错误,并在阳光下尝试了所有方法,包括此页面其他地方的内容,但均未成功。对我来说问题是在 Keychain Access 中,实际的 Apple WWDR 证书被标记为“始终信任”。它需要是“系统默认值”。这也适用于您的开发和分发证书。如果它们中的任何一个被错误地设置为“始终信任”,那显然会导致这个问题。

因此,在 Keychain Access 中,单击 Apple Worldwide Developer Relations Certificate Authority 证书,选择Get Info。然后,展开信任设置,对于“使用此证书时: ”的组合框,选择“系统默认值”。

其他人评论说,对于这些错误,您可能必须在系统登录钥匙串中执行此操作。

于 2011-04-22T00:24:21.917 回答
10

出现这种错误可能有很多原因:

  1. 检查您是否在设置中选择了包含有效代码签名身份和有效捆绑标识符的配置文件。(转到构建设置-> 签名-> 配置文件)。

  2. 打开钥匙串访问并单击左上角的锁定图标,这样它将锁定登录钥匙串,然后再次单击以解锁。

在此处输入图像描述

  1. 转到 File->Project Settings->Derived Data 并删除您的项目构建文件夹。之后清理并构建您的应用程序。
于 2018-02-05T10:47:58.067 回答
6

我在发行版构建时遇到了同样的问题。它只是突然发生的。事实上,几天前我没有遇到这个问题,而且我的 Ad-Hoc 版本编译正确。出现这个问题是因为我的证书今天刚刚过期。因此,我按照 Apple 的指导创建了一个新的临时文件:(http://developer.apple.com/ios/manage/distribution/index.action)。

在网上花了几个小时并确保我没有因为可能出错的事情而堕落之后。这是 Tobias 和 Dan Ray 建议的拯救我的方法:

  1. “...发现您可以右键单击 Xcode 中的错误消息以查看详细信息”。
  2. “...问题是我的系统钥匙串上的证书过期。默认情况下,钥匙串访问不显示过期证书”。

详细信息告诉我有关模糊匹配两个证书的信息。其中一个恰好是系统密钥链中的过期证书。所以我删除了过期的然后它起作用了!当使用钥匙串实用程序创建分发证书时,我还担心在“通用名称”中输入什么:我的名字或我的公司名称。就我而言,我输入了我的名字。我猜它与开发人员的自动回复电子邮件中的标题相同。

很大的帮助。谢谢。

于 2010-11-14T05:59:51.040 回答
3

如果紧接在代码设计错误之前的错误显示“不允许使用资源分叉、Finder 信息或类似的碎屑”之类的内容

然后导航到终端中的 .app 文件并键入:

xattr -cr < path_to_app_bundle >

参考:https ://developer.apple.com/library/content/qa/qa1940/_index.html

于 2017-02-02T22:39:42.783 回答
2

对我有用的是在构建设置中添加--deep其他代码签名标志。此处的更多信息:Xcode 4.6.3 中 Dropbox API 的代码设计失败:“代码对象根本没有签名”

不幸的是,这种模棱两可的错误条件有 400 种不同的解决方案,但我离题了。

于 2014-09-15T19:25:48.223 回答
1

我有同样的问题。最后结果证明我的私钥不允许 codesign 访问它。可以在钥匙串应用程序的信息对话框中看到这一点。

于 2010-04-08T17:46:58.580 回答
1

我必须同意托比亚斯的观点。错误太笼统了。当同样的事情发生在我身上时,我深入研究了错误消息并意识到我在构建属性中搞砸了一些东西,而不是代码签名。所以,是的,我会深入研究细节。

于 2010-04-16T19:51:44.777 回答
1

在我的情况下,错误是由于我在钥匙串上有两个同名的钥匙。我删除了旧的并解决了这个问题。

转到详细消息向我展示真正的问题。

于 2011-03-02T18:08:48.787 回答
1

经过数小时的谷歌搜索和尝试不同的事情,这就是为我解决的问题:

  1. 确保 Keychain Access 上的 System > Certificates 选项卡中没有证书。从那里删除所有重复的证书。

  2. 除了开发人员证书外,还要在供应门户的证书下安装 WWDR 中间证书,并确保您在 Keychain Access 的 Login > Certificates 选项卡中看到它。

希望这对你们中的一些人有所帮助!

于 2011-03-11T19:25:35.680 回答
1

模棱两可的相同问题(匹配“iPhone Developer: [me]”和/// tweetdeck 的库 privatedata 文件。通过将文件移动到垃圾箱并重新登录 Tweetdeck 来修复它,再次设置密码。真是痛苦。

于 2011-03-18T05:46:29.103 回答
1

我有同样的问题,但在错误日志中也列出了:CSSMERR_TP_CERT_NOT_VALID_YET

查看 KeyChain 中的证书显示了类似的消息。问题是由于我的 Mac 的系统时钟设置不正确。一旦我设置了正确的区域/时间,证书就会被标记为有效,我可以在 iPhone 上构建和运行我的应用程序

于 2011-05-13T06:10:34.330 回答
1

我也收到此错误(“/usr/bin/codesign failed with exit code 1”),当我查看 Keychain Access 时,我的开发人员证书被标记为“此证书由未知机构签名”。我最近升级到 Mac OS 10.8 并且从那时起遇到了其他几个 XCode (4.5.2) 问题。原来我没有安装 WWDR 中间证书。我从 iOS Provisioning Portal 下载了它,将它安装在 Keychain Access 中,我的项目再次构建!

于 2012-12-06T18:50:40.460 回答
1

当我收到此错误时,我什至没有尝试签署该应用程序。我正在编写一个测试应用程序,并不关心签名。为了摆脱这条消息,我必须从代​​码签名下的构建设置中选择“不要代码签名”。

在此处输入图像描述

于 2015-07-08T23:15:20.737 回答
1

有时您的构建文件夹只需要清理 - 它当然对我有用。感谢loafer-project的解决方案。

于 2017-07-03T15:36:18.553 回答
0

一种可能的原因是您没有在构建目录上写入的权限。

解决方案:删除项目文件夹中的所有构建目录并重新构建应用程序。

于 2010-06-02T16:08:28.940 回答
0

我刚刚遇到此错误,这是因为我试图将构建文件写入无法正常工作的网络驱动器。从我的桌面再次尝试,它工作得很好。(您可能需要在移动构建后“清理”它。只需从“构建”下拉菜单中选择“清理所有目标”)。

不过 Tobias 是正确的,请通过右键单击代码来深入了解代码的详细信息,以查看您的具体问题是什么。

于 2010-06-26T16:54:39.693 回答
0

您需要注意的一件事(对我来说这是一个愚蠢的错误,但确实会发生),即附加到 CSR 的电子邮件地址必须与连接到您的 Apple Dev 帐户的电子邮件地址相同。一旦我使用了新的 CSR 并重建了所有的证书和配置文件,applesville 一切都很好。

于 2014-12-11T19:01:52.373 回答
0

另一个原因,检查您的开发者帐户是否与 xCode 相关联

在此处输入图像描述

于 2017-12-09T13:21:29.537 回答
0

有点老问题,但似乎仍然发生。另一种解决方案:

在 git 中恢复分支后发生在我身上。尝试清理、清理构建、删除派生并重新启动 Xcode,但没有运气。

尝试重新启动计算机。

于 2018-04-03T04:38:59.023 回答
0

我在你提到的代码设计中遇到了同样的未知错误。与提供的答案类似(但有点不同),我只是锁定了我的钥匙串访问并解锁它,我能够再次构建并运行到我的设备。如果有人有同样的问题,也许在经历修改钥匙串密码的麻烦之前先尝试一下。

于 2018-07-26T13:32:52.840 回答
0

将我的评论扔进戒指中,我只是在尝试刷新我的开发环境后偶然在一个应用程序请求上单击拒绝后遇到了这个问题,在四处搜索之后我发现了一些似乎不起作用的事情。这是我尝试修复的完整顺序以及是否成功:

1)尝试清除 DerivedFiles 并重新启动 XCode - 没有骰子

2)尝试记录和解锁钥匙串,然后重新启动 XCode - 没有骰子

3) 尝试在 XCode 中刷新我的开发者帐户 - 没有骰子

4)咬紧牙关,只是重置我的整个钥匙串,这样做之后我的开发者帐户被注销(重新登录),然后重新启动 XCode - 没有骰子

5)在这里找到一篇文章说我们需要将 [login|local|System]/certificate/Apple Worldwide Developer Relations 证书颁发机构设置为“系统默认值”。但在我的情况下,它已经设置为系统默认值 - 没有骰子

6)然后我查看了我的实际开发人员证书登录名/我的证书/Mac 开发人员:当我在那里查看时,它在允许访问之前正确设置为确认,但下部没有条目。应该有 [Xcode, codesign, productbuild]。我删除了证书条目并重新启动了 XCode - bingo

添加了证书,然后提示我。所以我做了什么,我按下了“总是允许”,然后就自己去骨了。

我不得不返回并再次删除证书,然后在干净构建期间经历大约 20 个允许对话框。一旦完成,我就可以完全构建。

于 2019-05-14T20:49:11.550 回答
0

在我的案例中,经过几天的研究,

我所做的一切都在下面列出:

  1. 删除钥匙串上的所有证书。
  2. 转到您的苹果帐户。a) 下载您要在钥匙串上安装的指定证书。b)(可选)同时创建并下载所需的配置文件。
  3. 在 Xcode 中,清理你的项目。这可能要花点时间。
  4. 构建您的项目。

这应该适用于类似的代码设计问题。

请注意,在此过程中,操作系统会要求您进行凭据验证。

于 2020-04-10T11:29:16.413 回答
0

我使用 Xamarin,对我来说,这是在尝试了其他所有方法之后起作用的。在 Visual Studio for Mac 中,我打开了一个 .xib 文件,以便它在 Xcode 中打开项目。

转到项目设置>签名和功能,选择团队,然后修复签名证书。

于 2021-08-24T06:04:47.397 回答
-1

在终端中打开项目路径并在终端中输入以下命令

1)找到 . | xargs -0 xattr -c

2) xattr -rc 。

这对我有用。

于 2017-04-10T09:58:55.290 回答