已经尝试过:在macOS Sierra, Xcode 8上的代码符号错误

请参阅显示错误的图像

CodeSign /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app
    cd "/Volumes/Development/Project/Top Best Games/19. Lets Flow/35/let's FLOW - source/proj.ios_mac"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Distribution: New Free Games (2CHN583K4J)"
Provisioning Profile: "Super Flow Flipp AppStore"
                      (c6c30d2a-1025-4a23-8d12-1863ff684a05)

    /usr/bin/codesign --force --sign E48B98966150110E55EAA9B149F731901A41B37F --entitlements /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Intermediates/Flow.build/Debug-iphoneos/Super\ Flow\ Flip.build/Super\ Flow\ Flip.app.xcent --timestamp=none /Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super\ Flow\ Flip.app

/Users/gururajtallur/Library/Developer/Xcode/DerivedData/Flow-bkqjkvtmvjovpyepfjeyqmjpintj/Build/Products/Debug-iphoneos/Super Flow Flip.app: resource fork, Finder information, or similar detritus not allowed
Command /usr/bin/codesign failed with exit code 1

在代码签名部分,它允许我选择配置文件和证书…但还是会出错。

如何解决这个问题?


当前回答

所有关于清除文件的内容都很好,但是对于多个项目来说很乏味。

图形应用程序,(如photoshop在旧版本)写入额外的信息(我们现在称之为元数据..)在旧的外部文件中,或者他们来自旧的OSX,文件如下:

“com.apple。ResourceFork和com.apple。例如,当解压缩文件夹时,FinderInfo。

Xcode 8拒绝将它添加到构建中(就像你用“git—add .”将它们添加到项目中一样) 您可以递归地在终端中找到并删除它们,但这可能很乏味。

我写了一个小的免费实用程序来删除它。希望能有所帮助。

https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12

其他回答

对于那些(像我一样)只是试图开发一个应用程序,而不必剥离每个添加到macOS目标的新photoshop创建的PNG的扩展属性,你可以通过添加用户定义的构建设置暂时禁用代码签名:

CODE_SIGNING_ALLOWED = No 

显然,一个分发应用程序的人最终需要解决这个问题,但这可以在像我这样的情况下进行开发,在Sierra中省略代码签名并不一定是简单的(在过去的OS X / Xcode中,这样做更容易)。

根据RGriffith的评论,这里有一些截图,供那些不确定如何添加自定义构建设置的人使用。

错误来自于图像文件中的属性。这发生在我们的图形设计师从photoshop保存带有属性的图像。

下面是一个简单的命令,可以找到所有的png文件并删除它们的属性。在终端的项目根目录中运行这个。清洁和重建;问题解决了。

find . -type f -name '*.png' -exec xattr -c {} \;

我昨天遇到了这个问题。

(哪里错了)我通过手动替换查找器中的文件更新了图像资源,我失败了这个编译错误。

(正确的)不要用这种方式更新图像。之后,我将图像拖动到Xcode中的“xcassets”。不再出现错误。

我不知道发生了什么事,但当我在模拟器上运行扑动应用程序时,我遇到了错误。我使用颤振清洁命令并删除派生数据,然后一切正常。

解决方案1:

苹果开发者网站回答了上述问题。

在终端执行以下命令:首先转到项目根文件夹

 xattr -cr <path_to_project_dir>

清理Xcode并重新构建。

解决方案2:

只需转到项目根目录并运行xattr -cr命令。

xattr -cr .

清理Xcode并重新构建。

解决方案3:

您可以通过查找包含查找器信息的文件来解决此问题。

在终端,进入项目根目录并执行

ls -alR@ . > kundapura.txt

这将在当前目录中创建kundapura.txt。现在搜索com.apple.FinderInfo并清除所有文件的此属性。你可以这样做

xattr -c <filename>

例如:xattr -c guru.png

一旦你清除所有,然后代码签名工作。清理Xcode和Re Build。干杯

解决方案4:受Mark McCorkle的答案启发

在终端进入项目根目录,逐个执行命令

  find . -type f -name '*.jpeg' -exec xattr -c {} \;
  find . -type f -name '*.jpg' -exec xattr -c {} \;
  find . -type f -name '*.png' -exec xattr -c {} \;
  find . -type f -name '*.json' -exec xattr -c {} \;

清理Xcode并重新构建。