今天往MacOS工程添加了幾張圖片后猴誊,編譯報(bào)錯(cuò)潦刃,內(nèi)容如下:
“Code signing fails with error 'resource fork, Finder information, or similar detritus not allowed' ”
大意是:代碼簽名報(bào)錯(cuò)了,資源分之懈叹、Finder信息或者類似的殘留信息不被允許乖杠。。一臉懵逼澄成。胧洒。
這個(gè)報(bào)錯(cuò)在蘋果官網(wǎng)有解釋:https://developer.apple.com/library/content/qa/qa1940/_index.html
官方說這是出于安全起見而在iOS 10, macOS Sierra, watchOS 3, and tvOS 10上做的強(qiáng)制措施。代碼簽名不再允許bundle包中的任何文件有包含資源分支(resource fork)或Finder信息墨状。
如果要看是哪些文件引起的錯(cuò)誤卫漫,在終端運(yùn)行一下命令:
$ xattr -lr <path_to_app_bundle>
注意把 path_to_app_bundle 替換成你的app bundle的路徑。
比如:
$ xattr -lr Foo.app
也可用以下命令移除所有文件的擴(kuò)展屬性:
$ xattr -cr <path_to_app_bundle>
注意:在使用Finder的Show Package Contents 命令來瀏覽bundle中的文件時(shí)會(huì)造成Finder信息被添加進(jìn)文件中肾砂。
而我是由于添加的幾張圖片出了問題汛兜,因此可以運(yùn)行一下命令來解決:
find . -type f -name '*.jpeg' -exec xattr -c {} \;
find . -type f -name '*.png' -exec xattr -c {} \;
find . -type f -name '*.tif' -exec xattr -c {} \;