63

我有以下错误:

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

这是我已经为尝试解决此问题所做的工作:

  • 将包标识符设置为 com.server.pgmname
  • 将代码签名设置为“任何 Iphone OS 设备”
  • 将代码签名身份设置为我的分发身份。

该错误仅在我尝试在我的设备上构建时发生,在模拟器上一切正常。

你有什么建议吗?

4

44 回答 44

61

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

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


叹息:对于那些坚持反对这个答案的人,我并不是说这是解决这个问题的唯一方法。这是一种解决方案。它可能不适合你。这种失败有多种原因。codesign

于 2011-04-22T00:25:51.140 回答
31

我遇到了完全相同的问题,这对我有用:

Xcode > Preferences > Accounts > View Details > 然后刷新 Provisioning Profile

似乎 Xcode 中的帐户没有使用最新的配置文件更新,因此快速刷新解决了这个问题。

于 2015-01-29T11:33:38.860 回答
29

觉得有必要分享这个,即使它很荒谬。

我在我的 Mac 上设置了第二个开发者帐户,但无法进行任何代码签名。错误是“用户取消了操作”。

一个简单的重启为我解决了这个问题。

于 2014-01-22T22:43:36.787 回答
11

我花了大约 2-3 个小时来使用 Parse API 对项目进行代码设计。原来是嵌入式框架导致了这个问题。确保您设置了“副本上的代码签名”(见图)。如果不起作用,请从列表中删除 Parse 和 Bolts 框架并将它们从您的项目中删除,然后再次添加它们。

在此处输入图像描述

于 2015-07-15T19:16:24.250 回答
10

对我有用的是意识到 Xcode 无权访问证书。请检查您的证书是否可以通过 Xcode 访问。转到钥匙串访问 -> 证书 -> 打开证书并双击私钥 -> 选择访问控制

在此处输入图像描述

于 2016-12-04T20:16:18.850 回答
9

刚刚解决了同样的问题。我创建了一个资源文件夹,里面有我的图标,然后通过右键单击 > 添加文件 > [选择资源文件夹]将它添加到我的项目中。显然这是个坏主意。

而是在您的项目中创建一个新(在我的情况下称为“资源”),然后右键单击 > 将文件添加到该组,然后选择单个文件。项目立即建成。

于 2016-11-29T14:06:25.323 回答
6

对我来说,我刚刚更新到 Xcode 8,并将我的 Swift 2.2 代码转换为 Swift 3 代码,我在单元测试和 UI 测试中遇到了错误。我刚刚清理干净,然后所有错误都消失了。

于 2016-07-31T18:50:43.193 回答
3

对于将来遇到此问题的任何人(不想重建他们的项目),另一个要问的问题是您的产品名称中是否有空格。我建议您检查项目和目标的属性(右键单击-> 获取信息)。对于我的项目,唯一需要空格的地方是捆绑显示名称的 plist 中。

于 2010-01-26T22:21:43.237 回答
3

/usr/bin/codesign failed with exit code 1如果用户在文件夹中没有纹理文件的文件扩展名,通常会发生错误Models.scnassetsmacOS经常会生成带有隐藏扩展名的文件。

例如:您有一个文件myTexture,但它也必须包含扩展名 – myTexture.png.

于 2018-06-25T21:38:31.510 回答
2

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

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

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

于 2011-03-11T19:54:24.440 回答
2

我第一次尝试按照 Provisioning Assistant 创建配置文件时遇到了这个错误,结果他们没有提到WWDR Intermediate Certificate. 我安装了它,它对我来说很好用。

于 2012-05-10T11:54:16.233 回答
2

我有同样的问题,很长一段时间都想不通。我尝试了此页面和其他页面上的所有内容,但仍然无法正常工作。但最终,我确实找到了解决办法。

为此,请确保 Xcode 没有运行。关闭 Xcode 后,打开终端并输入命令:

xattr -rc /[The File Directory of your project found in the File Inspector of your .xcodeproj file in Xcode]/

显然不要将文字放在括号中,只需将其替换为它所说的内容。点击进入。如果命令下方没有显示任何内容,请不要担心,它不适合我。之后,您可以关闭终端并打开 Xcode。现在一切都应该没问题。注意:运行您的项目可能需要更长的时间,但请稍等。

另请注意:不要对这个答案投反对票,因为它不起作用。这是修复它的一种方法,它对我有用,但它可能对你不起作用,因为你可能有其他东西坏了。

于 2017-06-28T23:56:32.193 回答
2

这是我的解决方法:

  • 打开钥匙串访问,选择您的 iOS 证书,删除私钥
  • 然后返回xCode,您将看到警告警告消息和“撤销”按钮,单击它并解决错误。
于 2018-02-02T10:04:19.527 回答
1

大多数答案会告诉您您有重复的证书。这对我的情况来说是正确的,但答案却忽略了如何去做。

对我来说,我的帐户已过期,我必须获得一个新证书并安装它。接下来,我查看了 Keychain 并删除了过期的证书,但仍然出现错误。对我有用的实际上是在钥匙串中搜索“iPhone”并删除所有过期的证书。显然,其中一些没有显示在 System/Certificates 或 login/Certificates 中。

希望这可以帮助!

于 2011-08-30T13:35:29.183 回答
1

就我而言,我的钥匙串中有一个额外的过期分发证书 - 我从 KeyChain Access 中删除了证书,并且编译再次开始工作。

于 2013-11-30T00:29:52.980 回答
1

如果您使用 phonegap/cordova:

我在从 Cordova 构建时得到了这个,但对我来说解决方案要简单得多。权限问题。

只需将文件设置为正确的权限

chmod -R 774 ./projectfolder

然后设置所有权

chown -R youraccname:staff ./projectfolder 
于 2015-01-13T12:20:18.430 回答
1

上面的一些答案暗示了这个问题,但没有清楚地说明纠正它的步骤。

这是我在它变得超级令人沮丧之后的尝试,到目前为止它似乎对我有用:

该问题是由于您的Apple Developer 门户中或您的计算机中可能存在重复证书而引起的。我没有因为这样做而产生任何负面影响,并且到目前为止它的工作。

  1. 关闭 Xcode!

  2. 您必须从您的开发者帐户访问中删除现有证书:https ://developer.apple.com/account/ios/certificate/development/ 并选择开发帐户(应该有多个证书)我通过点击它们撤销了每一个并选择撤销。

选择开发证书

2.从 Mac 上的钥匙串中删除证书

  • 通过按 clover+space 并输入 keychaing
    并按 enter 打开 Keychain 应用程序
  • 在右上角搜索“开发者”
  • 选择潜在的重复键并导出/删除它们,使它们不在列表中。

按开发者搜索

  1. 最后在 XCode 中重新生成您的证书并重新启动

    • 重新打开 xcode
    • 通过转到项目->常规->签名来重新生成新证书
    • 重新选择您的“团队帐户”

签名设置

  • 应该生成一个新证书
  • 重新启动以获得良好的效果 - 并享受从这个错误中解脱出来的乐趣(苹果应该真正解决这个问题,如果它可以轻松复制的话)
于 2016-12-26T13:49:45.663 回答
1

我最近有同样的问题。钥匙串访问是罪魁祸首。

步骤:转到 -> 实用程序 -> 钥匙串访问钥匙串访问:编辑 -> 更改钥匙串“登录”的密码

更改密码。关闭并重新打开 Xcode,再次清理并构建。

如果选项 - 更改钥匙串“登录”的密码 - 显示为灰色:

  1. 确保在 Keychains selected -> login 下,挂锁图标已打开。要打开挂锁,您需要钥匙串密码。如果您不知道密码,请转到步骤 2。

  2. 挂锁解锁后,选项仍为灰色。作为最后的手段:钥匙串访问 - >首选项首选项:“重置我的默认钥匙串”重置登录。但是要小心,因为存储的钥匙串将被删除,您也可能在其他连接的设备上重新登录。

于 2018-06-28T12:34:11.163 回答
0

尝试在显示错误的“构建结果”视图中找出此错误的详细信息。在错误消息行的右侧,有一个带有多行的图标。这将向您展示一些有用的细节。

通过这种方式,我发现它是我钥匙串中重复的 iPhone 开发者证书——其中一个已经过期。也许在您的钥匙串中搜索“iphone”(首先选择“所有项目”类别)。

于 2010-12-03T12:32:36.670 回答
0

一个更适合我的解决方案,如果您安装了两个版本的 XCode,并且您安装了第二个版本而没有在同一目录 (/Developer/) 中卸载第一个版本,那么您做错了。所以对我有用的解决方案是:

1 - 使用命令 sudo /Developer/Library/uninstall-devtools --mode=all 卸载当前的 Xcode 版本。

2 - 安装您首先拥有的第一个 Xcode 版本。

3 - 再次 sudo /Developer/Library/uninstall-devtools --mode=all。

4 - 然后,一切都很干净,您可以安装所需的版本。

更多的事情:也许你需要在安装 Xcode 后重新启动计算机,甚至(在某些情况下)安装两次 Xcode。

我希望我能工作,这需要我很多时间才能知道,祝你好运!!!

于 2011-11-10T15:03:07.997 回答
0

对我有用的解决方案与(我认为是)升级到 Xcode 4.2 后路径行为的改变有关:

您不能再手动输入“armv6 armv7”,而是必须输入 $(VALID_ARCHS):在项目的“构建设置”窗格的“架构”部分下的“架构”和“有效架构”字段中都输入。Xcode 会自动将语句替换为“armv6 armv7”。

这个字符串看起来与您手动输入的完全一样,但仍然指向将与您的构建一起生成的实际正确路径,......或者至少这是我的看法:P

无关,我们曾经在其他签名标志下也有“armv6 armv7”,现在把它拿出来,它工作正常。这一定只是额外的。

谢谢和愉快的黑客攻击。贡

于 2012-03-01T23:35:03.070 回答
0

我去了 Key Access,选择了私钥,并将 XCode 添加到可以访问它的应用程序列表中。这对我有用

于 2012-08-21T17:56:32.460 回答
0

如果有人使用 Xcode 版本。3.xx 以及从 Mac OS 10.7 升级到 10.8 开发版。除了新的 codesign 二进制文件外,其他工具都可以正常工作。要解决这个问题,只需将旧的 codesign 和 codesign_allocate 二进制文件(我希望你有备份)复制到 /usr/bin/ 文件夹并重命名或备份新的。

于 2013-06-11T06:59:05.413 回答
0

我在项目名称中有特殊字符,重命名它以删除字符、问号,并确保启用了开发人员证书解决了这个问题。

于 2013-09-19T19:28:01.153 回答
0

当我遇到此错误时,这是​​由于已在Keychain Access中,并且当询问我是否要让程序访问已保存的密码时选择“禁止” 。返回并选择“允许”并输入我的系统密码修复了 XCode 中的问题。

于 2015-05-22T14:26:04.963 回答
0

对我来说,问题是 HTTP 代理

于 2015-10-11T07:05:02.860 回答
0

这是我如何解决同样的问题。它可能会帮助某人。

我从服务器中删除了 Development Provisioning Profile(我正在使用),然后创建了一个名称略有不同的配置文件。我使用它并且它有效。

于 2015-12-06T03:08:42.440 回答
0

这个问题发生在我在一个项目中有多个目标时,我将CFBundleExecutableplist 属性更改为目标名称以外的其他内容。

因此,例如,我在一个项目中有以下目标:

  • 某应用
  • SomeApp WatchKit 扩展
  • SomeApp WatchKit 应用
  • SomeApp Today 小部件
  • SomeApp for OS X(这是代码设计错误发生的目标)

用于 OS X 的 SomeApp将其CFBundleExecutable属性设置为 just SomeApp,这不仅与名为SomeApp的第一个目标冲突,而且与它所针对的目标不同。将OS X的 SomeApp更改为SomeApp然后重命名第一个目标对我来说效果很好。

于 2016-01-12T12:29:06.227 回答
0

对我来说,我在框架方案而不是相应的测试方案上启用了代码覆盖率。禁用代码覆盖率可以解决问题。

于 2016-03-04T11:55:27.610 回答
0

这个非常复杂的问题的一个非常简单的答案。它不涉及代码签名以及与之相关的一切知识。

拿一个不再需要的旧应用程序。确保它正常工作,然后将其代码替换为具有代码签名错误的新应用程序的代码。旧应用程序现在应该可以正常工作,使用新应用程序完成您想要的。

唯一的缺点:正在运行的应用程序具有旧应用程序的标题。

于 2017-02-27T22:03:51.407 回答
0

当我将一个名为“资源”的文件夹添加为“创建文件夹引用”时,会出现此问题,当我将“资源”重命名为另一个随机名称时,此问题就消失了。

希望它会有所帮助。

于 2018-05-14T12:14:03.080 回答
0

花了几个小时来解决这个问题,这是由于 xcode 的非常普遍的错误。我的一个框架在其中一台笔记本电脑上的代码设计失败,并出现以下错误:

XYZ.framework : unknown error -1=ffffffffffffffff

Command /usr/bin/codesign failed with exit code 1

但是,没有为此框架设置代码设计,并且仍然失败并出现代码设计错误。

以下是答案:

我已经生成了新的开发证书(带有新的私钥)并安装在我的新 Mac 上。

此错误与 XYZ.frameowrk 无关。归档时基本上 codesign 失败了,因为我们新创建"codesign wants to sign using key "my account Name" in your keychain"的证书要求和按钮Always Allow, Deny and Allow

问题是我从未接受过它。一旦我点击允许。它开始工作了。

希望这可以帮助。

于 2018-06-14T06:16:03.917 回答
0

对我来说,它通过以下方式起作用:

  1. 删除“登录”中的所有现有开发证书

  2. 然后转到一个xcode项目->转到一个目标->常规->选择一个团队。

  3. 选择后,只需按照下面将出现的内容进行操作(再试一次按钮和内容..)。最后,您必须提供“登录”钥匙串密码

“3”之后。您将在“登录”钥匙串中看到新证书,并且对我来说不再有代码签名错误。

于 2018-07-04T09:01:11.737 回答
0

我所要做的就是禁用自动签名,然后重新启用它,并选择我的团队身份。它奏效了!

于 2018-08-28T13:40:36.147 回答
0

在这里尝试了大多数解决方案,帮助我清理 XCode 中的构建文件夹:产品 - >清理并重建项目

于 2018-09-16T10:19:38.750 回答
0

在 Xcode 中:转到当前用户的首选项注销。

关闭 Xcode

在钥匙串中:转到登录和所有项目

            - Sort by kind
                 - remove "Apple Worldwide Developer Relation Certification Authority"
                 - remove "Developer ID Certification Authority"
                 - remove "iPhone Developer ...."

打开 Xcode

转到首选项并登录到您的用户苹果帐户

- This will reload your developer certificates you previous deleted 

重建项目(应该是成功的构建)

在本机设备上运行构建

于 2019-03-27T04:22:50.647 回答
0

我在一个现有项目中遇到了这个错误代码,在我将三个 PNG 文件添加到项目后突然不会签名。事实证明,其中一个 PNG 文件是罪魁祸首。所有三个 PNG 文件都是使用 Pixelmator 创建的,应该具有相同的结构。但它根本不会用其中一张图像签名。删除图像,它工作。再次添加,失败。重命名图像,仍然失败。我最终从头开始构建一个新图像,所有这些都已修复。

于 2020-05-27T03:02:44.560 回答
0

对我有用的是检查 KeyChain 上的所有证书是否为使用系统默认值,所有证书都必须使用此配置。是唯一有效的方法,并且确保没有重复证书。

于 2020-12-10T15:32:41.843 回答
0

对我来说,我只需要在 xcode 中删除“派生数据”

打开 Xcode (12.3) -> Xcode -> 首选项 -> 位置 -> 单击 DerivedData 位置箭头 -> 删除“DerivedData”文件夹 -> 清理并构建

于 2020-12-29T15:43:31.390 回答
-1

以下步骤对我有用

  • 从所有配置文件中清除了我的设备
  • 从我的开发 iOS 证书和密钥中清除 OSx 钥匙串
  • 从 Apple Developer Program 重新生成的证书/配置文件
  • 将 Provisioning 配置文件安装到我的 Xcode 项目中
  • 修复了 Project Target 中的团队问题
  • 在项目/目标/构建设置中配置适当的代码签名身份
于 2014-09-28T11:39:08.617 回答
-1

解决此问题的步骤:

  1. 转到钥匙串访问。
    1. 选择 i-Phone Developer 证书。
    2. 锁定证书。(菜单栏 - 锁定按钮)
    3. 提供机器密码。
    4. 解锁证书。

现在清理并重建项目,此问题将解决。

于 2019-03-13T05:58:59.097 回答
-1

我已经通过以下步骤解决了这个问题。

  1. 打开钥匙串访问,输入“dev”
  2. 删除所选项目,如附图所示 在此处输入图像描述
  3. 打开xcode,它会询问密码类型系统密码。

希望,它会有所帮助。

于 2020-01-15T19:18:03.560 回答
-2

对我来说真正的修复
唯一的问题是我的配置文件在会员中心“无效”,因为旧的配置文件是由旧证书生成的。 重新生成证书或重新生成配置文件后,请确保下载它们并将它们提供给 Xcode。

于 2014-10-04T08:16:41.293 回答
-3

我刚刚创建了一个新项目,复制了我所有的课程和资源,然后它就成功了!

于 2011-06-27T04:44:05.367 回答