美文网首页
iOS引入第三方库冲突duplicate symbol

iOS引入第三方库冲突duplicate symbol

作者: 低调的腹 | 来源:发表于2018-09-12 19:00 被阅读0次

    看这种图:

    一个是下拉刷新库,一个是百度导航sdk ,当我把最近的导航sdk引入的时候,出现duplicate symbol的问题,这个头大,首先sdk 是一个静态库,如果存在相同的symbol ,如何解决了,将改问题在百度开发者中心咨询之后,给我了意见,使用 lipo  这个命令。


    首先,查看该库支持哪几种架构,使用 lipo -info  libbaiduNaviSDK.a

    结果:

    Architectures in the fat file: libbaiduNaviSDK.a are: armv7 i386 x86_64 arm64

    然后将每个架构库导出

    lipo -thin armv7 rlibLoansSDK.a -output rlibLoansSDK_armv7

    等等等.........

    然后你可以查看该架构下所有对目标文件 .o

    使用命令

    Ar -t libbaiduNaviSDK.a_armv7

    然后删除冲突的symbol

    Ar -dv libbaiduNaviSDK.a_armv7 SSZipArchive.o

     然后将各个架构的库都按照如上所示 删除冲突,最后将所有的.a 库合并一个.a库

    lipo -create libbaiduNaviSDK.a_armv7 libbaiduNaviSDK_i386

    libbaiduNaviSDK_x86_64 libbaiduNaviSDK_arm64 -output libbaiduNaviSDK.a

    到此为止,就可以用了。。。



    相关文章

      网友评论

          本文标题:iOS引入第三方库冲突duplicate symbol

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