ChatGPT解决这个技术问题 Extra ChatGPT

Xcode 10,Command CodeSign 失败,退出代码为非零

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

CodeSign /Users/admin/Desktop/AppStoreBuild/Project201/build/Debug-iphonesimulator/Project.app(目标:Desker) cd /Users/admin/Desktop/AppStoreBuild/Project201 export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/开发者/工具链/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 并重新启动,它会在我更改代码或添加方法时正确构建,但会再次构建失败。


C
Community

我遇到了这个问题,Xcode 无法在设备上编译,但在模拟器上,它运行良好。

我通过以下步骤解决了:

打开钥匙串访问。锁定“登录”钥匙串。解锁它,输入您的 PC 帐户密码。产品菜单中的清洁项目。再次构建它。

之后一切正常。


在我的情况下它被解锁了......所以我只是锁定它然后清理和构建并且Xcode要求我输入我的密码。在职的
在我的情况下,这对我来说是完美的解决方案,我单独下载了 xcode10.1,并且之前有 xcode 10.0。之后,它在完成@omanosoft 提供的解决方案后给出了上述内容,它起作用了
我花了半天时间才找到拯救我的解决方案,谢谢亲爱的朋友。
在我的情况下,对话框会弹出多次以输入密码。我每次都输入我的 PC 帐户密码,并且在 7-10 次后访问被接受。
@LogicsaurusRex 同意。我不明白为什么构建应用程序,更不用说单元测试,应该绑定到我的用户帐户。那是糟糕的开发者体验。这样的事情需要解耦。 AFAIK,甚至微软都没有这样做,那是因为他们试图将用户帐户绑定到某些开发人员工具,如 Visual Studio
P
Paul Slocum

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


这对我也有用。我已将“资源”文件夹从 Finder 拖到我的项目中,并使用默认的“创建文件夹引用”创建了一个蓝色的“资源”文件夹。我删除了它,再次将相同的“资源”文件夹从 Finder 拖到我的项目中,但是这次我选择了“创建组”,现在我的项目编译没有签名错误。
按照他们的说明添加 Firebase 模块后,我遇到了同样的问题。我将文件夹 Resources 重命名为 FirebaseResources,它运行良好。谢谢你。
很好,在复制另一个代码库时遇到了同样的问题。奇怪的是,其他代码库没有任何问题,但是当复制它时会导致新项目受到影响。重命名 Resources 文件夹就可以了。
有人可以告诉我在哪里以及如何找到这个资源文件夹
@pratteekshaurya 这将是您在项目中创建的文件夹
s
snibbe

对于 some people,这发生在将 .png 文件添加到现有 .scn 资产文件夹以及 .wav 文件之后。

Xcode,由于提高了安全性,不喜欢文件的扩展名。您可以通过 cd 进入文件所在的目录并使用终端中的“xattr”命令删除其扩展文件属性来一次修复这些问题。

删除单个文件上的所有扩展属性

使用带有 -c 标志的 xattr 来“清除”属性:

xattr -c yourfile.txt

删除许多文件上的所有扩展属性

要递归删除目录中所有文件的扩展属性,请将 -c "clear" 标志与 -r recursive 标志结合使用:

xattr -rc /path/to/directory

有关详细信息,请参阅 How do I remove the "extended attributes" on a file in Mac OS X?

当出现代码签名错误时,此解决方案也将有所帮助:“不允许使用资源分叉、Finder 信息或类似的碎屑”。

苹果文档:https://developer.apple.com/library/archive/qa/qa1940/_index.html


搜索了数周的问题并要求 Apple 提供支持 - 没有成功。感谢您的解决方案!非常适合我 - 适用于几个项目。
为此干杯。修复了我的问题。
替换为您的实际应用程序包的路径。
J
Jonas

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

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


.jpg 也有同样的问题,但没有扩展名。添加后修复。
谢谢你节省了我的时间。感谢您将该错误与具有隐藏扩展名的图像相关联。
我在使用 png 时遇到了这个问题,但它的扩展名是可见的。图像是使用“将图层组合导出到文件”从 Photoshop 导出的。删除图像并使用“导出为”重新导出修复了该问题。
PNG图像也有同样的问题!
这对我有用-谢谢-我可以确认此错误尚未在 Xcode 11.5 (11E608c) 上修复
r
rjobidon

使固定

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

打开终端 将目录更改为源文件的根目录 $ cd /Users/rjobidon/Documents/My\ Project 列出所有扩展属性

$ xattr -lr .

删除所有扩展属性

$ xattr -cr .

Xcode 错误

“Command CodeSign 失败,退出代码非零”

“不允许资源分叉、Finder 信息或类似的碎屑”

原因

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

来源

https://developer.apple.com/library/archive/qa/qa1940/_index.html


我试图将 iOS 应用程序启用到 Mac Catelist 应用程序中,这解决了这个问题。谢谢
我在 Mac 上的 xaddr 没有“c”选项,所以我只是做了“xaddr -d”。它也解决了这个问题
xattr -rc <我的项目路径> 解决了我的问题。
s
siburb

尝试清理项目:

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

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


做过。清洁成功。当我建造时我失败了
构建失败的兄弟。
在我的案例中起到了魅力!
z
zx485

流行的解决方案都没有奏效。就我而言,我通过进入

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

并在 iOS 开发中添加了 (+)。


p
plamenti

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

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

解决问题的步骤:

在 XCode 中转到 Preferences 单击 Locations 选项卡在 Command Line Tools 从下拉列表中选择 XCode 10.1


V
Val

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

关闭 Xcode

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

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

打开 Xcode

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

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

在本机设备上运行构建


S
Sam Xu

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

要查看导致此错误的文件,请转到 .app 文件夹,通常类似于:/Users/XXXX/Library/Developer/Xcode/DerivedData/MyProject-ckbzynxqjmstxigbdwwkcsozlego/Build/Products/Debug-maccatalyst/(我的是 Catalyst 项目)在终端,

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 并重建。


F
Faustino Gagneten

我的解决方案是在不保存的情况下重新启动 macOS


p
paul_f

我不确定是什么导致了这个问题,但我用来成功解决问题的一种方法是在我的可可豆荚上运行 pod update。

错误(无论如何对我来说)显示其中一个 pod 签名存在问题。更新 pod 解决了该签名问题。

pod update [PODNAME] //For an individual pod

或者

pod update //For all pods.

希望这将帮助遇到相同“Command CodeSign failed with a nonzero exit code”错误的人。


我没有 podfile - 甚至不确定文件名和扩展名应该是什么。你能清除吗?
嗨@RideSun,您可能还没有在您的项目中添加 pod。 podfile 被称为“Podfile”。它没有扩展名,默认情况下,它将是一个 TextEdit 文件。
T
Theo

在我的情况下是以下错误行:

签名身份:“-” .....mobile.app:不允许资源叉、Finder 信息或类似的碎屑命令 CodeSign 失败,退出代码为非零

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

在 FINDER 中查找文件,标记它 -> cmd+i -> uncek 隐藏扩展名

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

我希望我有帮助!


我尝试了其他解决方案。这是唯一对我有用的解决方案。
m
mr_dami

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

在目标的团队下拉列表中,选择“无”重新选择正确的开发团队

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


N
Nicoli

在尝试了一切之后,我的解决方案是删除一些 PNG 文件,构建并运行(好的)并再次添加 PNG 图像。诡异的!


类似的事情。添加了 5 个不带 .PNG 扩展名的 .PNG 文件,前几个构建工作正常,然后在 IB 中编辑控件后,出现上述签名错误,并显示消息“不允许使用资源分叉、Finder 信息或类似的碎屑”。碎屑?谁用这个词?通过将文件的名称更改为具有扩展名 .PNG 它解决了问题。
s
sensation

我将发布我的解决方案。该解决方案对我有用,因为以前的解决方案都不起作用。该问题在 XCode cli 工具集上次更新后首次出现(不确定这是否是确认偏差)。

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

在出现错误的情况下对我有用:

命令 CodeSign 失败,退出代码为非零 (Something.framework) 垃圾 DD 内容; rm -rf /Users/dx/Library/Developer/Xcode/DerivedData/* 重新启动 XCode 构建阶段 => 将二进制文件链接到库 Something.framework,在常规中设置嵌入值 => Something.framework => EMBED 不要嵌入 按 Cmd+ B(构建项目)希望构建成功

垃圾 DD 内容; rm -rf /Users/dx/Library/Developer/Xcode/DerivedData/*

重启 XCode

Build Phases => Link Binary With Libraries Something.framework,

一些东西。框架,

在 General 中设置嵌入值 => Something.framework => EMBED 不要嵌入

不要嵌入

按 Cmd+B(构建项目)

希望建设成功


当我执行上述步骤时,我确实成功构建了应用程序,但 Xcode 提醒我:原因:找不到图像。我通过以下步骤解决了这个问题:TARGETS - Build Phases - Link Binary With Framework - Something.framework - Status ->光学
J
Jason Aller

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

我是如何解决这个问题的?

我从 Keychain Access 中清除了我的 Apple Development Certificate 我从 Keychain Access 中清除了我的 Apple Development 私钥 然后我收到了新错误: Revoke certificate 您的帐户已经有这台机器的 Apple Development 签名证书,但它的私钥未安装在您的钥匙链。 Xcode 可以在撤销您现有的证书后创建一个新证书。转到 Xcode Preference -> Accounts Tab -> 细化 Apple ID 下的团队名称 -> 双击它 -> 点击框左下角的 + 按钮 -> 选择 App Development 在目标的团队下拉列表中,选择“None” 重新选择正确的开发团队 shift+cmd+k 清理项目 cmd+b 重建项目


h
hawtakshun

在将 .jpg 和 .png 图像的混合添加到 art.scnassets 文件夹、进行代码更改并通过 Xcode 的 Source Control > Discard All Changes... 菜单删除这些更改后,我也看到了这个错误。

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


我从我的另一个项目中添加了几个 swift 文件和一个 png 图像。删除该 png 图像项目后构建成功😀
P
Patrick Duchesneau

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


A
Abdulmohsen Alabra

这个问题是由在 Release 模式中构建我的项目引起的。它也可能是由其他原因引起的。尝试通过在 xCode 中转到 Product > Scheme > Edit Scheme 来切换构建模式。在左侧的“运行”部分中,将“构建配置”切换为“调试”。我希望这将有所帮助。


T
ToddX61

以上解决方案都不适合我。经过一番猜测,我尝试了(Xcode v10.2.1 cocoapods v1.7.1)

pod deintegrate

其次是

pod install

然后:

在 Xcode 中打开工作区

清理构建文件夹

构建项目

没有构建错误。


M
MichaelStoddart

我的问题解决了

选中自动管理 Target MyProject 上的签名并添加团队。

选中自动管理 Target MyProjectTest 上的签名并添加团队。

产品 -> 清理构建文件夹 -> 再次构建或尝试在设备上运行。

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

在重建之前重新连接手机也可能有助于解决此问题。


m
marika.daboja

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

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

一步步:

打开 KeyChain 单击“登录”钥匙串(确保它已解锁 - 如果已锁定,请右键单击它并选择“解锁 KeyChain”)单击证书并找到 Apple Worldwide Developer Relations 证书颁发机构证书右键单击它并选择获取信息展开信任部分并将设置更改为使用系统默认值,如下图所示

https://i.stack.imgur.com/kEaDk.png


i
iravinandan

从 XCODE 11.x 升级到 12.0 时也会出现此问题。安装新版本的 XCODE 后,重新启动系统即可解决此问题。


b
brasofilo

其他答案均无效。这就是我所做的:

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


r
roberto

就我而言,这是一个损坏的故事板文件


n
nik

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


Z
Zoe stands with Ukraine

不确定这是否会对任何人有所帮助 - 但请确保您已勾选 Find Implicit Dependencies。有时这会导致您的项目“迷失方向”去寻找某些东西。

https://i.stack.imgur.com/AMAPM.png

一旦你这样做了,我建议你也清理你的项目并重建。

https://i.stack.imgur.com/uB3Tg.png


S
Swetha Reddy

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


y
yoAlex5

只是一个可视化

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

https://i.stack.imgur.com/6zRr3.png


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅