每次我构建控制台时都会显示此消息。
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 并重新启动,它会在我更改代码或添加方法时正确构建,但会再次构建失败。
我遇到了这个问题,Xcode 无法在设备上编译,但在模拟器上,它运行良好。
我通过以下步骤解决了:
打开钥匙串访问。锁定“登录”钥匙串。解锁它,输入您的 PC 帐户密码。产品菜单中的清洁项目。再次构建它。
之后一切正常。
列出的解决方案都不适合我。 In another thread 有人指出,在项目中包含名为“resources”的文件夹会导致此错误。重命名我的“资源”文件夹后,错误消失了。
对于 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
这发生在我身上,只是在我在获取信息中添加了一个带有“隐藏扩展名”的 .png 图像之后。 (右键单击图像)该图像已添加到我的 Xcode 项目的文件目录中。
当取消勾选框并将 .png 图像重新添加到 Xcode 目录时,我随后进行了清理和构建,然后工作正常,如果你问我,这是一个非常奇怪的错误。
使固定
永久删除资源文件中的扩展文件属性,而不是在已编译的应用程序包中:
打开终端 将目录更改为源文件的根目录 $ 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
尝试清理项目:
1. shift + cmd + k
2. shift + cmd + Alt + k
然后尝试再次运行您的项目。希望这能解决问题。
流行的解决方案都没有奏效。就我而言,我通过进入
XCode -> 首选项 -> 帐户 -> 管理证书
并在 iOS 开发中添加了 (+)。
在添加 .dae 和 .png 文件并使用 XCode Editor 将 .dae 转换为 SceneKit 场景文件格式 (.scn) 后,这个问题发生在我身上。
经过更多研究后,我在这里找到了解决方案 - https://forums.developer.apple.com/thread/109951#336225
解决问题的步骤:
在 XCode 中转到 Preferences 单击 Locations 选项卡在 Command Line Tools 从下拉列表中选择 XCode 10.1
在 Xcode 中:转到当前用户的首选项注销。
关闭 Xcode
在钥匙串中:转到登录和所有项目
- Sort by kind
- remove "Apple Worldwide Developer Relation Certification Authority"
- remove "Developer ID Certification Authority"
- remove "iPhone Developer ...."
打开 Xcode
转到首选项并登录到您的用户苹果帐户
这将重新加载您之前删除的开发人员证书重建项目(应该是成功的构建)
在本机设备上运行构建
这是因为代码签名不再允许应用程序包中的任何文件具有包含资源分叉或 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 并重建。
我的解决方案是在不保存的情况下重新启动 macOS
我不确定是什么导致了这个问题,但我用来成功解决问题的一种方法是在我的可可豆荚上运行 pod update。
错误(无论如何对我来说)显示其中一个 pod 签名存在问题。更新 pod 解决了该签名问题。
pod update [PODNAME] //For an individual pod
或者
pod update //For all pods.
希望这将帮助遇到相同“Command CodeSign failed with a nonzero exit code”错误的人。
在我的情况下是以下错误行:
签名身份:“-” .....mobile.app:不允许资源叉、Finder 信息或类似的碎屑命令 CodeSign 失败,退出代码为非零
问题是在资源文件夹中,我有一些扩展名为 .png 的文件,默认情况下这些文件是隐藏的。
在 FINDER 中查找文件,标记它 -> cmd+i -> uncek 隐藏扩展名
之后,返回 Xcode -> kmd + shift + K 并重建。
我希望我有帮助!
对我来说,解决方案如下,打开“自动管理标志”标志:
在目标的团队下拉列表中,选择“无”重新选择正确的开发团队
在尝试了几乎所有建议之后,我发现这很有效,我猜是因为 Xcode 从头开始设置签名内容。
在尝试了一切之后,我的解决方案是删除一些 PNG 文件,构建并运行(好的)并再次添加 PNG 图像。诡异的!
我将发布我的解决方案。该解决方案对我有用,因为以前的解决方案都不起作用。该问题在 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(构建项目)
希望建设成功
Something.framework
- Status ->光学
根据我的经验,导致此问题的原因是我错误地将 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 重建项目
在将 .jpg 和 .png 图像的混合添加到 art.scnassets 文件夹、进行代码更改并通过 Xcode 的 Source Control > Discard All Changes... 菜单删除这些更改后,我也看到了这个错误。
我尝试了此线程中的其他修复,但最终我不得不删除添加的 .jpg/.png 文件,清理项目并重建项目以消除错误。然后我读取了原始的 .jpg/.png 文件,现在我正在重建代码而没有问题。
对我来说,我必须转到钥匙串,选择“登录”钥匙串,双击 iOS Developer:myname 键,单击访问控制选项卡并将单选按钮切换为允许所有应用程序访问此项目。
这个问题是由在 Release 模式中构建我的项目引起的。它也可能是由其他原因引起的。尝试通过在 xCode 中转到 Product > Scheme > Edit Scheme 来切换构建模式。在左侧的“运行”部分中,将“构建配置”切换为“调试”。我希望这将有所帮助。
以上解决方案都不适合我。经过一番猜测,我尝试了(Xcode v10.2.1 cocoapods v1.7.1)
pod deintegrate
其次是
pod install
然后:
在 Xcode 中打开工作区
清理构建文件夹
构建项目
没有构建错误。
我的问题解决了
选中自动管理 Target MyProject 上的签名并添加团队。
选中自动管理 Target MyProjectTest 上的签名并添加团队。
产品 -> 清理构建文件夹 -> 再次构建或尝试在设备上运行。
当您在 MyProject 和 MyProjectTest 上有错误/不同的团队时,就会出现问题。
在重建之前重新连接手机也可能有助于解决此问题。
由于我的 Apple 全球开发者关系证书颁发机构证书配置错误,我遇到了这个问题。
我通过从“始终信任”切换到“使用系统默认值”解决了问题
一步步:
打开 KeyChain 单击“登录”钥匙串(确保它已解锁 - 如果已锁定,请右键单击它并选择“解锁 KeyChain”)单击证书并找到 Apple Worldwide Developer Relations 证书颁发机构证书右键单击它并选择获取信息展开信任部分并将设置更改为使用系统默认值,如下图所示
https://i.stack.imgur.com/kEaDk.png
从 XCODE 11.x 升级到 12.0 时也会出现此问题。安装新版本的 XCODE 后,重新启动系统即可解决此问题。
其他答案均无效。这就是我所做的:
从钥匙串中删除了我的证书;打开 Xcode 它重建证书;成功在设备上运行应用程序。
就我而言,这是一个损坏的故事板文件
我在 .scnassets 组中复制了两个 .aiff 文件后,发生了此错误。删除文件和“清理构建文件夹”解决了我的问题。
不确定这是否会对任何人有所帮助 - 但请确保您已勾选 Find Implicit Dependencies
。有时这会导致您的项目“迷失方向”去寻找某些东西。
https://i.stack.imgur.com/AMAPM.png
一旦你这样做了,我建议你也清理你的项目并重建。
https://i.stack.imgur.com/uB3Tg.png
这对我有用:) 我删除了钥匙串访问设置中的证书。转到 Xcode 并清理构建应用程序。现在证书再次在钥匙串访问中创建,并且在真实设备上构建成功。
只是一个可视化
Lock Keychain "login" -> Unlock Keychain "login" -> Always allow
https://i.stack.imgur.com/6zRr3.png
不定期副业成功案例分享