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

时间:2010-01-07 02:07:42

标签: ios iphone exit-code codesign

我有以下错误:

  

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

以下是我尝试解决这个问题的方法:

  • 将包标识符设置为com.server.pgmname
  • 将代码签名设置为“Any Iphone OS Device”
  • 将代码签名标识设置为我的分发标识。

只有当我尝试在我的设备上构建时才会出现错误,在模拟器上一切正常。

你有什么建议吗?

43 个答案:

答案 0 :(得分:54)

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

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


叹息:对于那些坚持不懈地回答这个问题的人,我并不是说这是解决这个问题的唯一方法。这是一个解决方案。它可能对你不起作用。此codesign失败有多个原因。

答案 1 :(得分:30)

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

Xcode>偏好>帐户>查看详细信息>只需刷新配置文件

即可

似乎Xcode中的帐户未使用最新的配置文件进行更新,因此快速刷新将其整理出来。

答案 2 :(得分:26)

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

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

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

答案 3 :(得分:10)

我正在争夺大约2-3个小时来使用Parse API对项目进行编码。原来,嵌入式框架导致了这个问题。确保设置“复制代码签名”(见图)。 如果不起作用,请从列表中删除Parse和Bolts框架并将其从项目中删除,然后重新添加它们。

enter image description here

答案 4 :(得分:9)

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

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

答案 5 :(得分:7)

对我有用的是认识到Xcode无法访问证书。请检查Xcode是否可以访问您的证书。转到Keychain Access - >证书 - >打开证书并双击私钥 - >选择访问控制

enter image description here

答案 6 :(得分:6)

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

答案 7 :(得分:2)

我遇到了同样的问题,很长一段时间都无法解决这个问题。我尝试了这个页面上的所有内容和其他内容,但它仍然无效。但最终,我确实找到了解决办法。

要使其正常工作,请确保Xcode未运行。关闭Xcode后,打开终端并输入命令:

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

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

另请注意:请勿关注此答案,因为它不起作用。这是修复它对我有用的一种方法,但它可能对你不起作用,因为你可能还有其他东西被破坏了。

答案 8 :(得分:2)

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

答案 9 :(得分:2)

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

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

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

答案 10 :(得分:1)

以下是我的解决方法:

  • 打开钥匙串访问权限,选择您的iOS证书,删除私钥
  • 然后返回xCode,您将看到警告警告消息和“撤销”按钮,单击它并解决错误。

答案 11 :(得分:1)

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

答案 12 :(得分:1)

在我的情况下,我的钥匙串中有一个额外的过期分发证书 - 我从KeyChain Access中删除了证书,并且编译开始再次运行。

答案 13 :(得分:1)

大多数答案会告诉您证书重复。这对我的情况来说是正确的,但答案遗漏了如何做到这一点。

对我而言,我的帐户已过期,我必须获得新证书并进行安装。接下来,我查看了Keychain并删除了过期的证书,但仍然收到错误。对我有用的实际上是搜索" iPhone"在Keychain中并删除所有过期的证书。显然,其中一些没有显示在系统/证书或登录/证书中。

希望这有帮助!

答案 14 :(得分:1)

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

  

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

答案 15 :(得分:1)

如果你正在使用phonegap / cordova:

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

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

即可
chmod -R 774 ./projectfolder

然后设置所有权

chown -R youraccname:staff ./projectfolder 

答案 16 :(得分:1)

上面的一些答案提到了问题,但没有明确说明纠正它的步骤。

这是我的尝试之后,它变得非常令人沮丧,这似乎对我有用:

问题是由于您的Apple Developer portal或可能在您的计算机中存在重复的证书而导致的。这样做我没有任何负面影响,到目前为止它已经奏效。

  1. 关闭Xcode!

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

  3. select development certs

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

    • 按三叶草+空格键入打开钥匙串应用程序,然后输入钥匙串
      然后按回车
    • 在右上角搜索“developer”
    • 选择潜在的重复键并导出/删除它们,使它们不在列表中。

    search by developer

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

      • 重新打开xcode
      • 通过转到项目重新生成新证书 - > 一般 - >签署
      • 重新选择“团队帐户”
    2. signing setup

      • 应生成新证书
      • 重新启动以获得良好的衡量标准 - 并享受免于此错误(如果可以轻松复制,Apple应该真正解决这个问题)

答案 17 :(得分:0)

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

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

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

如果选项-更改钥匙串“登录”的密码-变灰:

  1. 确保在“选择的钥匙串”下->登录并打开了挂锁图标。 要打开挂锁,您需要钥匙串密码。如果您不知道密码,请转到步骤2。

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

答案 18 :(得分:0)

当我将名为“Resources”的文件夹添加为“Create folder references”时,出现此问题,当我将“Resources”重命名为另一个随机名称时,此问题就消失了。

希望它会有所帮助。

答案 19 :(得分:0)

花了几个小时搞清楚这个问题,它是由xcode引起的非常一般的错误。我的一个框架在其中一台笔记本电脑上失败并且出现以下错误:

pip install pylbfgs

但是,没有针对此框架设置的Codeign,但仍然因代码签名错误而失败。

以下是答案:

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

此错误与XYZ.frameowrk无关。我们新创建的证书要求XYZ.framework : unknown error -1=ffffffffffffffff Command /usr/bin/codesign failed with exit code 1 和按钮"codesign wants to sign using key "my account Name" in your keychain"时,基本上代码签名失败了。

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

希望这有帮助。

答案 20 :(得分:0)

以下是我解决同样问题的方法。它可能对某人有帮助。

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

答案 21 :(得分:0)

对我来说,它可以通过以下操作来工作:

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

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

  3. ,选择之后,只需遵循下面将出现的内容即可(再次尝试按钮和填充物。。)。最后,您必须提供“登录”钥匙串密码

在“ 3”之后。您将在您的“登录”钥匙串中看到新的证书,对我而言,也不会再出现代码签名错误。

答案 22 :(得分:0)

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

答案 23 :(得分:0)

在这里尝试了大多数解决方案,而对我有帮助的是使用以下方法在XCode中清理了build文件夹: 产品->清理并重建项目

答案 24 :(得分:0)

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

关闭Xcode

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

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

打开Xcode

转到“首选项”并登录到您的用户Apple帐户

- This will reload your developer certificates you previous deleted 

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

在您的本机设备上运行构建

答案 25 :(得分:0)

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

答案 26 :(得分:0)

对我有用的是将KeyChain上的所有证书都检查为“使用系统默认值”,所有证书都必须具有此配置。是唯一有效的方法,并且请确保不会重复使用任何证书。

答案 27 :(得分:0)

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

打开 Xcode (12.3) -> Xcode -> Preferences -> Locations -> 点击 DerivedData 位置箭头 -> 删除“DerivedData”文件夹 -> Clean and build

答案 28 :(得分:0)

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

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

只有失败:工作应用程序具有旧标题。

答案 29 :(得分:0)

对我来说,我在框架方案上启用了代码覆盖,而不是相应的测试方案。禁用代码覆盖率会对问题进行排序。

答案 30 :(得分:0)

当我在一个项目中有多个目标时,我发生了这个问题,并且我将CFBundleExecutable plist属性更改为目标名称以外的其他属性。

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

  • SomeApp
  • SomeApp WatchKit Extension
  • SomeApp WatchKit App
  • SomeApp Today Widget
  • SomeApp for OS X(这是发生编码错误的目标)

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

答案 31 :(得分:0)

对我来说问题是HTTP代理

答案 32 :(得分:0)

当我遇到此错误时,原因是进入 Keychain Access ,并在被问到是否需要时选择 '禁止' 让程序访问保存的密码。返回并选择 '允许' 并输入我的系统密码修复了XCode中的问题。

答案 33 :(得分:0)

我在项目名称中有特殊字符,将其重命名为删除字符,问号,并确保已启用开发人员证书以解决此问题。

答案 34 :(得分:0)

如果有人使用Xcode ver。 3.x.x和从Mac OS 10.7升级到10.8,dev。工具将正常工作,除了新的codeign二进制..修复它只是复制旧的codesign和codesign_allocate二进制文件(我希望你有备份)到/ usr / bin /文件夹并重命名或备份新的。

答案 35 :(得分:0)

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

答案 36 :(得分:0)

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

您不能再手动输入“armv6 armv7”,而必须输入$(VALID_ARCHS):两者都是项目的Build Settings窗格中Architectures部分下的Architectures和Valid Architectures字段。 Xcode将自动用'armv6 armv7'替换该语句。

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

无关,我们曾经在其他签名旗下有“armv6 armv7”,现在把它拿出来并且工作正常。这必须是一个额外的。

谢谢,快乐的黑客攻击。 刚

答案 37 :(得分: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。

我希望我的工作花了很多时间才能知道,祝你好运!

答案 38 :(得分:0)

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

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

答案 39 :(得分:-1)

以下步骤为我工作

  • 从所有配置文件中清除我的设备
  • 从我的Dev iOS证书中清除OSx Keychain&amp;键
  • 从Apple Developer Program重新生成证书/供应资料
  • 在我的Xcode项目中安装了配置文件
  • 修正了Project Target中的团队问题
  • 在项目/目标/构建设置
  • 中配置了相应的代码签名标识

答案 40 :(得分:-1)

我已按照以下步骤解决了这个问题。

  1. 打开钥匙串访问,输入“ deve”
  2. 删除附件中的所选项目 enter image description here
  3. 打开xcode,它将询问密码类型系统密码。

希望,会有所帮助。

答案 41 :(得分:-2)

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

答案 42 :(得分:-4)

我刚刚创建了一个新项目,复制了我所有的类和资源,然后就可以了!