报错:
code signature in (*.dylib) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
安装错误提示,需要对dylib进行签名。
签名步骤:
- 复制证书名称(Mac Development)
先打开keychain Access.app (中文名是:钥匙串访问),选择 我的证书,复制证书名称。 - 签名命令如下
codesign -f -s "上一步复制的签名" xxx.dylib
- 为了避免逐个签名,可以直接将系统的全部dylib都进行签名:
codesign -f -s "上一步复制的签名" /usr/local/opt/*/lib/*.dylib
该命令将目录/usr/local/opt下的全面dylib都进行了签名,也就是说,XCode编译代码时依赖的系统库,全部都被签名了。如果你还依赖了别的动态库,需要再单独进行签名。
- 关于签名的其他命令操作:
- 清除动态库的签名:
codesign --remove-signature xxx.dylib
- 查看签名:
codesign -v xxx.dylib
- 重新签名:
codesign的-f参数就是强制签名的意思,本文使用的codesign -f -s就能直接重新签名。如果不想覆盖原来的签名,可以把-f参数去掉。
网友评论