已经尝试过:在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

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

如何解决这个问题?


当前回答

如果xattr命令不起作用,这可能是由于XCode 9的错误: 让我们尝试删除并重新添加包含Xcode中受影响文件的资源文件夹(在我的情况下是.xcassets)。(您应该通过xattr -lr命令了解哪些是受影响的文件)

其他回答

我的。app在网络驱动器上。

codesign -f -vv --preserve-metadata=entitlements -s {*my Apple distribution cert SHA*} my.app
my.app: resource fork, Finder information, or similar detritus not allowed

我不知道是路径太长还是它在NAS设备上是一个问题。我将.app复制到本地下载目录,然后就可以进行协同设计了。

my.app: signed app bundle with Mach-O thin (arm64) [*com.something.my*]

我昨天遇到了这个问题。

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

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

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

CODE_SIGNING_ALLOWED = No 

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

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

最简单的解决方法是使用git。试一试:

$ git stash
$ git stash pop

Git不存储文件元数据,上面会把它全部去掉。

处理源文件属性最简单的方法是让Xcode在运行协同设计之前清理归档文件。这样做:

在XCode中选择你的目标 选择Build Phases选项卡 按+符号 选择新建运行脚本阶段 脚本输入如下内容: xattr -cr ~/Library/Developer/Xcode/DerivedData || echo清除

现在,当你构建目标时,它会清除任何可能破坏协同设计的属性。通过在此阶段清除,您不必更改源代码/项目目录。

脚本的“|| echo Clear”部分确保即使xattr错误,项目构建也会继续。

如果你在代码存储库中使用DropBox等程序来添加属性,这种方法很好,因为它不会改变源项目,只会改变构建的存档。

您可能需要更改路径以匹配您的DerivedData目录-此路径将显示在协同设计错误旁边。