1.最近在Mac平台上打包签名app时,发现公证一直过不去,一直在报 the signature of the binary is invalid的错误,打包过程是通过自己编写的脚本来顺序执行的。以前都工作正常,但最近却一直报错,回想了一下最近的操作,主要修改是将程序依赖的框架拷贝到bundle的Frameworks中等操作。
这里主要使用了cp -r ./Frameworks ./nortarize/Exam_Client.app/Contents/ 来完成Frameworks的拷贝。
检查了一些通过命令行拷贝过去的Frameworks中的库,发现目录中原有的symlink类型的文件全都变成了实体文件,这就是导致一直签名失败的原因。
解决办法:
cp 命令有一个 -a 参数,能够保证拷贝symlink类型文件时,不会转换成实体文件,故修改上述脚本命令即可修复。
2..DS_Store隐藏文件导致已被公证的app不能被正确运行
删除某些文件夹下的.DS_Store文件,具体可以使用 ll -a 命令来查看当前目录是否存在.DS_Store文件,然后使用rm -rf .DS_Store来删除。