Xcode 10,命令CodeSign失败,退出代码非零

时间:2018-09-20 09:37:27

标签: ios xcode xcode10

每次我的构建控制台都显示此消息。

  

CodeSign /用户/管理员/桌面/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app(在目标中:Desker)       cd /用户/管理员/桌面/ AppStoreBuild / Project201       导出CODESIGN_ALLOCATE = / Applications / Xcode.app / Contents / Developer / Toolchains / XcodeDefault.xctoolchain / usr / bin / codesign_allocate

签名身份:“-”

/usr/bin/codesign --force --sign - --entitlements /Users/admin/Desktop/AppStoreBuild/Project201/build/Project.build/Debug-iphonesimulator/Project.build/Project.app.xcent --timestamp=none /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app
  

/Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app:不允许资源派生,Finder信息或类似碎屑   命令CodeSign失败,退出代码非零

... 有什么方法可以确定此失败的原因。当我也尝试在模拟器中运行时,它会显示签名身份:“-”。为什么我们需要在模拟器中签名。还有一件事是,如果我退出Xcode并重新启动,那么当我更改代码或添加方法会再次构建失败时,它将正确构建。

43 个答案:

答案 0 :(得分:159)

我遇到了这个问题,并且Xcode无法在设备上编译,但是在模拟器上工作正常。

我通过以下步骤解决了

  1. 打开钥匙串访问。
  2. 锁定“登录”钥匙串。
  3. 解锁它,输入您的PC帐户密码。
  4. 清理并构建项目

然后一切正常。

答案 1 :(得分:12)

没有列出的解决方案对我有用。 In another thread指出,在项目中包含名为“ resources”的文件夹会导致此错误。重命名我的“ resources”文件夹后,错误消失了。

答案 2 :(得分:9)

修复

永久删除资源文件中的扩展文件属性,而不是已编译的应用程序捆绑包中的扩展文件属性:

  1. 打开终端

  2. 将目录更改为源文件的根

    $ cd / Users / rjobidon / Documents / My \ Project

  3. 列出所有扩展属性

$ xattr -lr .
  1. 删除所有扩展属性
$ xattr -cr .

Xcode错误

  • “命令CodeSign失败,退出代码非零”
  • “不允许使用资源分叉,Finder信息或类似碎屑”

原因

Apple引入了安全强化更改,因此代码签名不再允许应用程序捆绑包中的任何文件具有包含资源派生或Finder信息的扩展属性。

来源

答案 3 :(得分:6)

如果您还获得代码签名失败,并显示错误消息“不允许使用资源派生,Finder信息或类似的碎屑。”

在控制台中运行以下脚本进行修复:

$ xattr -cr <path_to_app_bundle>

答案 4 :(得分:4)

直到我今天才发生这种情况,只是在获取信息中添加了带有“隐藏扩展名”的.png图像之后。 (右键单击图像)该图像已添加到我的Xcode项目的文件目录中。

当取消选中框并将.png图像重新添加到Xcode的目录中时,我随后进行了清理和构建并运行良好,如果您问我,这是一个非常奇怪的错误。

答案 5 :(得分:3)

在添加.dae和.png文件并使用XCode Editor将.dae转换为SceneKit场景文件格式(.scn)之后,发生了此问题。

经过更多研究后,我在这里找到了解决方案-https://forums.developer.apple.com/thread/109951#336225

解决问题的步骤:

  1. 在XCode中转到“首选项”
  2. 点击“位置”标签
  3. 在命令行工具中,从下拉菜单XCode 10.1中选择

答案 6 :(得分:2)

我将发布解决方案。这个解决方案对我有用,因为以前的解决方案都没有。该问题首先发生在XCode cli工具集的最新更新之后(不确定这是否是确认偏差)。

我尝试了一些说明(例如,解锁钥匙串技巧)。

出现错误时对我有用的东西

  • Command CodeSign failed with a nonzero exit code (Something.framework)

    • 垃圾桶DD内容; rm -rf / Users / dx / Library / Developer / Xcode / DerivedData / *
    • 重新启动XCode
    • 构建阶段=> Link Binary With Libraries
      • Something.framework
    • General => Something.framework => EMBED中设置嵌入值
      • Do not embed
    • Cmd+B(构建项目)
    • 希望成功建立

答案 7 :(得分:2)

尝试-

1. shift + cmd + k
2. shift + cmd + Alt + k 

然后尝试再次运行您的项目。希望这能解决问题。

答案 8 :(得分:2)

这是因为代码签名不再允许应用程序捆绑包中的任何文件具有包含资源派生或Finder信息的扩展属性。

要查看引起该错误的文件,请转到.app文件夹,通常类似于:/ Users / XXXX / Library / Developer / Xcode / DerivedData / MyProject-ckbzynxqjmstxigbdwwkcsozlego / Build / Products / Debug-maccatalyst /(催化剂项目) 在终端中,

cd <above path>
xattr -lr .

您将看到某些文件具有扩展属性:

./ MyProject.app/Contents/Resources/shopping_cart.png:com.apple.lastuseddate#PS: 00000000 BE 31 D5 5E 00 00 00 00 D0 40 FE 39 00 00 00 00 | .1。^ ..... @。9 .... |

然后转到这些文件的项目文件夹或引用的文件夹,删除扩展属性:

cd /Users/XXXX/Work/MyProject
xattr -cr .

清理所有引用的文件夹后,转到Xcode并重建。

答案 9 :(得分:1)

根据我的经验,导致此问题的原因是我将Keychain Access错误地重置为默认设置,因此我丢失了开发证书。

我该如何解决?

  1. 我从钥匙串访问中清除了我的Apple开发证书
  2. 我从钥匙串访问中清除了我的Apple Development私钥
  3. 然后我得到了新错误:吊销证书 您的帐户已经具有此计算机的Apple Development签名证书,但是其私钥未安装在您的钥匙串中。撤销现有证书后,Xcode可以创建一个新证书。
  4. 转到Xcode首选项->“帐户”标签->在Apple ID下细化团队名称->双击它->单击框左下方的+按钮->选择“应用程序开发”
  5. 在目标的团队下拉列表中,选择“无”
  6. 重新选择正确的开发团队
  7. 通过 shift + cmd + k
  8. 清理项目
  9. 重建项目 cmd + b

答案 10 :(得分:1)

由于我的苹果全球开发者关系证书颁发机构证书配置错误,我遇到了这个问题。

我通过从“始终信任”切换到“使用系统默认值”解决了问题

分步操作:

  1. 打开KeyChain
  2. 单击“登录”钥匙串(确保已解锁-如果已锁定,请右键单击它,然后选择“解锁钥匙串”)
  3. 单击“证书”并找到Apple Worldwide Developer Relations证书颁发机构的证书
  4. 右键单击它,然后选择“获取信息”
  5. 展开“信任”部分,然后根据以下屏幕截图将设置更改为“使用系统默认值”

enter image description here

答案 11 :(得分:1)

没有一个流行的解决方案。
就我而言,我通过进入

解决了该错误
  

XCode->首选项->帐户->管理证书

并为 iOS开发添加了(+)。

答案 12 :(得分:1)

对我来说,解决方法如下:在“自动管理标志”标志上打上

  1. 在目标团队下拉菜单中,选择“无”

  2. 重新选择正确的开发团队

尝试了几乎所有建议之后,我发现这可行,因为Xcode从头开始设置签名内容。

答案 13 :(得分:1)

对我来说,解决方案是不保存就重新启动macOS

答案 14 :(得分:1)

此问题是由在Release模式中构建我的项目引起的。也可能由其他原因引起。尝试通过输入xCode来切换构建模式  产品>方案>编辑方案。在左侧的“运行”部分,将“构建配置”切换为“调试”。我希望这将有所帮助。

答案 15 :(得分:1)

从XCODE 11.x升级到12.0时,也会发生此问题。安装新版本的XCODE后,请重新启动系统以解决此问题。

答案 16 :(得分:1)

I'm unsure of what causes this issue but one method I used to resolve the porblem successfully was to run pod update on my cocoa pods.

The error (for me anyway) was showing a problem with one of the pods signing. Updating the pods resolved that signing issue.

pod update [PODNAME] //For an individual pod

or

pod update //For all pods.

Hopefully, this will help someone who is having the same "Command CodeSign failed with a nonzero exit code" error.

答案 17 :(得分:0)

令人惊讶的是,到目前为止,30 个答案中没有一个提到我面临的问题和相应的解决方案。对我来说,确切的错误消息是 errSecInternalComponent Command CodeSign failed with a nonzero exit code

从远程 (ssh) 登录运行命令行构建时出现错误消息。在 macOS 桌面终端窗口中运行相同的构建命令,导致弹出一个对话框,要求我输入密码。输入密码后,构建成功。

答案 18 :(得分:0)

没有一个批量动作解决方案对我有用。扩展属性不会被删除。每次对我来说,这都是一个或多个3D模型(.dae)或.png文件的问题。

我发现一次删除一个文件的属性(碎屑)最终会更快。我必须切换到终端中的art.scnassets目录。 (您可以将其从finder拖到终端)对于每个可疑(新)文件,我运行“ xattr -lr filename.ext”以查看其是否具有扩展属性。如果是这样,我运行“ xattr -cr filename.ext”将其删除。它每次都起作用,但是只能通过删除每个文件的属性来实现。然后使用产品-清理生成文件夹,然后再次生成。它每次都成功运行。

答案 19 :(得分:0)

就我而言,Paint.app输出的png文件中的一些特殊标记会导致这种情况发生。

我尝试了所有答案,但没有一个适合我。

我的解决方案是

步骤1.拖动png文件(如果您不知道哪个png,请拖动项目资源文件夹/组中的所有png文件),导致Preview.app发生错误

enter image description here

第2步。调整图像大小

enter image description here

步骤3.将宽度和高度放大2倍,点击“确定”按钮

enter image description here

步骤4.设置回原始宽度和高度,点击“确定”按钮

enter image description here

第5步。对所有png图像重复第3步和第4步

第6步。清理项目并重新构建

完成!祝你好运

答案 20 :(得分:0)

最后!

如果您不使用iOS证书,我想xcode不允许在本地iPhone上运行应用程序! 我只有发行证书,尝试在本地设备上运行时,除此错误外,其他都很好。 取得iOS开发人员证书后,问题就消失了

答案 21 :(得分:0)

我的情况:我已删除个人资料中包含的证书。
我的解决方案:

  • 在以下位置删除所有配置文件:/ Users / {yourusername} / Library / MobileDevice / Provisioning配置文件
  • 重新添加个人资料。

答案 22 :(得分:0)

对我有用的东西(Catalina 10.15.5上的Xcode 11.3.1。)

仅供参考-我没有团队。我转到“签名和功能”进行构建,并且“自动管理签名”已取消选中。

我检查了它,它弹出一个菜单,说它将重置一些构建设置。我单击“启用自动”。然后,我回过头来,再次取消选中“自动管理签名”以使其恢复原状。

之后工作。感谢您浪费我生命中3个小时的Xcode。

答案 23 :(得分:0)

对我有用的-在其他地方找到-非常简单:

flutter clean

(从项目的基本目录在Terminal中运行)

请注意,XCode中的Clean Project并没有什么不同,请先尝试一下。

答案 24 :(得分:0)

问题刚开始时,我刚刚添加了SystemConfiguration.framework和Reachability h和m。我尝试了所有这些解决方案,最终删除了systemConfiguration.framework并为我修复了该问题。可达性h和m仍在项目中。

答案 25 :(得分:0)

它对我有用,方法是删除钥匙串中的所有Apple开发人员认证。并在Xcode中生成它。

答案 26 :(得分:0)

我尝试了以上所有方法。他们都没有工作。我发现我有2个钥匙串。他们两个都有证书和密钥。我已经删除了一个钥匙串,并删除了所有的钥匙和证书,只是保留了“登录”钥匙串。我还从此钥匙串中删除了所有内容,然后从apple开发人员页面重新下载了证书。这样做之后,所有内容都被导入到这个ONE钥匙串中。清理Xcode,开始。没问题!

答案 27 :(得分:0)

对我而言,最高评分的答案无效。

起作用的是转到“签名和功能->团队->添加帐户,然后再次添加Apple ID。

这样做之后,当我再次构建时,系统要求我提供登录凭据,构建成功。

答案 28 :(得分:0)

尝试所有步骤后,我的解决方案是删除一些PNG文件,构建并运行(确定),然后再次添加PNG图像。奇怪!

答案 29 :(得分:0)

听起来可能很愚蠢,但是当系统询问时,请不要输入密码。

答案 30 :(得分:0)

就我而言,这是一个意外打开的选项。 我在iOS和macOS上都使用了通用的根.xcconfig文件,对于iOS目标,启用强化运行时选项仍然处于启用状态,因此替换了该行

ENABLE_HARDENED_RUNTIME = YES

通过

ENABLE_HARDENED_RUNTIME[sdk=macosx*] = YES

.xcconfig文件中的问题已解决

答案 31 :(得分:0)

我的问题解决了

  • 选中“在目标MyProject上自动管理签名并添加团队”。
  • 选中“在目标MyProjectTest上自动管理签名并添加团队”。
  • 产品->清理生成文件夹->重新生成或尝试在设备上运行。

当您在MyProject和MyProjectTest上有错误/不同的团队时,就会出现问题。

在重建之前重新连接手机也可以帮助解决此问题。

答案 32 :(得分:0)

只是可视化

Lock Keychain "login" -> Unlock Keychain "login" -> Always allow

enter image description here

答案 33 :(得分:0)

这对我有用:) 我在钥匙串访问设置中删除了证书。转到Xcode并清洁构建应用程序。现在,再次在钥匙串访问中创建了证书,并且通过真实设备成功构建了该证书。

答案 34 :(得分:0)

以上解决方案均不适用于我。经过一些猜测后,我尝试了(Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

之后

pod install

然后:

  • 在Xcode中打开工作区
  • 已清理的构建文件夹
  • 构建项目

没有构建错误。

答案 35 :(得分:0)

对我来说,我必须去钥匙串,选择“登录”钥匙串,双击iOS Developer:myname钥匙,单击访问控制选项卡,然后将单选按钮切换为“允许所有应用程序访问此项目”。

答案 36 :(得分:0)

在我的情况下,出现以下错误行:

  

签名身份:“-”

     

…..mobile.app:资源派生,Finder信息或类似碎屑   不允许

     

命令CodeSign失败,退出代码非零

问题在于资源文件夹中有一些扩展名为.png的文件,这些文件默认情况下是隐藏的。

在FINDER中查找文件,将其标记为-> cmd + i->取消隐藏扩展名

之后,返回Xcode-> kmd + shift + K并重建。

希望我能对您有所帮助!

答案 37 :(得分:0)

我在.scnassets组中复制了两个.aiff文件后,出现此错误 发生了。删除文件和“清理生成文件夹”可以解决我的问题。

答案 38 :(得分:0)

在我看来,这是一个损坏的情节提要文件

答案 39 :(得分:0)

没有其他答案有效。这就是我所做的:

  1. 从钥匙串中删除了我的证书;
  2. 打开Xcode重建证书;
  3. 成功在设备上运行应用。

答案 40 :(得分:0)

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

关闭Xcode

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

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

打开Xcode

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

  • 这将重新加载您先前删除的开发人员证书 重建项目(应该是成功的构建)

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

答案 41 :(得分:0)

在将.jpg和.png图像的混合物添加到art.scnassets文件夹,进行代码更改并通过Xcode的“源代码控制”>“放弃所有更改...”菜单删除这些更改之后,我也看到了此错误。

我尝试了该线程中的其他修复程序,但最终,我不得不删除添加的.jpg / .png文件,清理项目并重建项目以消除错误。然后,我读取了原始的.jpg / .png文件,现在正在重建代码而没有任何问题。

答案 42 :(得分:0)

不知道这是否会帮助任何人 - 但要确保你已经Find Implicit Dependencies核对。有时,这可能会导致您的项目“找不到某些地方的东西”。


enter image description here


完成此操作后,建议您同时清理项目并重建。

enter image description here