重签名App问题汇总

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

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

1
> xattr -cr XXX.app

再次运行Xcode,完美!!!
image.png