问题一:Code signing fails with error 'resource fork, Finder information, or similar detritus not allowed'
问题描述:
应用砸完壳,把包拉出来,里面的Plugins删除,替换可执行文件,打开Xcode—>MonkeyDev,创建MonkeyApp项目,把整理好的.app文件放到TargetApp目录,一系列操作行云流水,点完运行,双手托腮,嘴角上扬,静待Build succeeded
.。
然而,上扬的嘴角定格在Codesign failed
那一刻。
看着这个错,也是一脸懵逼。
查阅相关资料才发现,原来,用Finder
的显示包内容
查看.app文件夹,会将Finder
的一些查找信息以扩展属性的方式添加到这些文件中,而代码签名在iOS10之后,不再允许应用程序包中的任何文件具有包含Finder信息的扩展属性。
所以理论上,只要去除这些扩展属性,代码签名应该就没问题了。
那么怎么去除这些扩展属性呢?xattr
命令可以对文件的扩展属性进行查看、增加、删除和清空,因此用xattr
操作一波。
使用-c -r
参数来递归清空包内的所有文件的扩展属性。
1 | > xattr -cr XXX.app |
再次运行Xcode,完美!!!