美文网首页
XCode 动态库未签名的问题(解决)

XCode 动态库未签名的问题(解决)

作者: 游戏创作者 | 来源:发表于2019-11-10 20:57 被阅读0次

    报错:

    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进行签名。

    签名步骤:

    1. 复制证书名称(Mac Development)
      先打开keychain Access.app (中文名是:钥匙串访问),选择 我的证书,复制证书名称。
    2. 签名命令如下
    codesign -f -s "上一步复制的签名" xxx.dylib
    
    1. 为了避免逐个签名,可以直接将系统的全部dylib都进行签名:
    codesign -f -s "上一步复制的签名" /usr/local/opt/*/lib/*.dylib
    

    该命令将目录/usr/local/opt下的全面dylib都进行了签名,也就是说,XCode编译代码时依赖的系统库,全部都被签名了。如果你还依赖了别的动态库,需要再单独进行签名。

    1. 关于签名的其他命令操作:
    • 清除动态库的签名:
    codesign --remove-signature xxx.dylib
    
    • 查看签名:
    codesign -v xxx.dylib
    
    • 重新签名:
      codesign的-f参数就是强制签名的意思,本文使用的codesign -f -s就能直接重新签名。如果不想覆盖原来的签名,可以把-f参数去掉。

    相关文章

      网友评论

          本文标题:XCode 动态库未签名的问题(解决)

          本文链接:https://www.haomeiwen.com/subject/hxoabctx.html