美文网首页OC进化iOS开发iOS程序猿
iOS framework动态库重签名

iOS framework动态库重签名

作者: nenhall | 来源:发表于2017-05-15 13:50 被阅读1461次

    真机上运行.framework时,如果报如下信息时表示framework动态库没有签名,需要进行重签名:

    dyld'dyld_fatal_error:
    dyld: Library not loaded: @rpath/xxxxx.framework/xxxxx
      Referenced from: /var/containers/Bundle/Application/DF33E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/iDoctors
      Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/DF65E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/xxxxx.framework/xxxxx: code signing blocked mmap() of '/private/var/containers/Bundle/Application/DF65E1CB-0A69-4303-A22A-686E643DE922/iDoctors.app/xxxxx.framework/xxxxx'
    Message from debugger: Terminated due to signal 6
    

    <br />

    相关签名命令:

    1.查看framework的签名证书命令:

    codesign -d -vv xxxxx.framework
    <br />

    2.删除原有的签名

    进入到XX.framwork文件夹内,删除_CodeSignature文件夹
    <br />

    3.查看本机可用的签名文件,命令:

    /usr/bin/security find-identity -v -p codesigning
    结果示例(如果你的电脑上有更多签名文件,则会打印出更多):

      1) DE340162A51981A466FA5D68BCAF2A07220BF4B2 "iPhone Developer: ... (...)"
      2) 5872B661A62607BD2C892C05F3553907BEA44F4F "Mac Developer: ... (...)"
      3) 39E6F6BAC63352FF3791E166A80969F088C2BF29 "iPhone Developer: ... (...)"
      ......
    

    <br />

    4.使用签名文件签名命令:

    codesign -fs "iPhone Developer: ... (...)" xxxxx.framework

    相关文章

      网友评论

      • Dazer1992:就是 ios 动态签名的错误,我当时全是环信 报错,加载不到,模拟器是坏的,测试是好的;
        iOS动态库重签名步骤 https://blog.csdn.net/sinat_26415011/article/details/54017733
      • hhy_082510:不对。我也出现了这种报错,但是我的动态库和app都是重新签名过了。用codesign -vv -d 看是一样的,teamid也是一样的
        nenhall:@仁伯 我文中这个问题没有补充,其实还得把对应的framework 库拖入你的工程,并copy 到sources file里面
        nenhall:@仁伯 这只是重签名的一种方式,具体还得看你的问题是啥,能不能用这种方式解决
        仁伯:问下最终解决了吗,我重签名后还是报错

      本文标题:iOS framework动态库重签名

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