Code signing fails with error 'resource fork, Finder information, or similar detritus not allowed'

今天往MacOS工程添加了几张图片后,编译报错,内容如下:

    “Code signing fails with error 'resource fork, Finder information, or similar detritus not allowed' ”

大意是:代码签名报错了,资源分之、Finder信息或者类似的残留信息不被允许。。一脸懵逼。。

这个报错在苹果官网有解释:https://developer.apple.com/library/content/qa/qa1940/_index.html

官方说这是出于安全起见而在iOS 10, macOS Sierra, watchOS 3, and tvOS 10上做的强制措施。代码签名不再允许bundle包中的任何文件有包含资源分支(resource fork)或Finder信息。

如果要看是哪些文件引起的错误,在终端运行一下命令:

    $ xattr -lr 

注意把 path_to_app_bundle 替换成你的app bundle的路径。
比如:

    $ xattr -lr Foo.app

也可用以下命令移除所有文件的扩展属性:

    $ xattr -cr 

注意:在使用Finder的Show Package Contents 命令来浏览bundle中的文件时会造成Finder信息被添加进文件中。

而我是由于添加的几张图片出了问题,因此可以运行一下命令来解决:

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

参考链接:http://stackoverflow.com/questions/39652867/code-sign-error-in-macos-sierra-xcode-8-resource-fork-finder-information-or

你可能感兴趣的:(Code signing fails with error 'resource fork, Finder information, or similar detritus not allowed')