已经尝试过:在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
在代码签名部分,它允许我选择配置文件和证书…但还是会出错。
如何解决这个问题?
解决方案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并重新构建。
如果你在共同设计应用程序时遇到了这个错误:
资源分叉,查找器信息,或类似的碎片不允许
命令/usr/bin/codesign失败,退出码为1
转到项目根文件夹并执行
find . | xargs -0 xattr -c
这将清除所有文件的属性。
在Sierra中,关于签名包中可以包含什么内容的规则已经收紧,并且不再允许资源分叉。AppleScript一直在资源分叉中保存信息,尽管这些信息已经被使用了很长一段时间。使用Sierra,当你保存一个脚本时,这个资源分叉信息将不再被保存。
这意味着你不能共同设计一个在Sierra之前的版本中保存的脚本;你必须在Sierra中保存,才能在Sierra中签名。
可能受到影响的人是那些在自己的脚本中捆绑其他脚本的人(cordova?)在Sierra下重新保存所有嵌入式脚本之前,他们将无法对容器脚本进行签名。
更新:
这似乎也有用:
xattr -rc .
如果您有任何权限不足的错误,请尝试在sudo: sudo xattr -rc前加上。
所有关于清除文件的内容都很好,但是对于多个项目来说很乏味。
图形应用程序,(如photoshop在旧版本)写入额外的信息(我们现在称之为元数据..)在旧的外部文件中,或者他们来自旧的OSX,文件如下:
“com.apple。ResourceFork和com.apple。例如,当解压缩文件夹时,FinderInfo。
Xcode 8拒绝将它添加到构建中(就像你用“git—add .”将它们添加到项目中一样)
您可以递归地在终端中找到并删除它们,但这可能很乏味。
我写了一个小的免费实用程序来删除它。希望能有所帮助。
https://itunes.apple.com/us/app/cleandetritus/id1161108431?ls=1&mt=12
处理源文件属性最简单的方法是让Xcode在运行协同设计之前清理归档文件。这样做:
在XCode中选择你的目标
选择Build Phases选项卡
按+符号
选择新建运行脚本阶段
脚本输入如下内容:
xattr -cr ~/Library/Developer/Xcode/DerivedData || echo清除
现在,当你构建目标时,它会清除任何可能破坏协同设计的属性。通过在此阶段清除,您不必更改源代码/项目目录。
脚本的“|| echo Clear”部分确保即使xattr错误,项目构建也会继续。
如果你在代码存储库中使用DropBox等程序来添加属性,这种方法很好,因为它不会改变源项目,只会改变构建的存档。
您可能需要更改路径以匹配您的DerivedData目录-此路径将显示在协同设计错误旁边。