美文网首页iOS Developer
iOS | cocoapods 1.3.1导入环信和融云问题

iOS | cocoapods 1.3.1导入环信和融云问题

作者: 鱼太咸丶 | 来源:发表于2018-01-18 23:03 被阅读238次

    前期在项目中一直使用的是环信,但是最近好像环信的服务器不是太稳定,每每到4点后就开始登录失败.所以就产生了相对口碑较好点的融云的想法.

    前面是使用cocoapods导入的环信第三方库,在融云这里我也选择了同样的方式,方便省事.

    cocoapods版本:1.3.1
    //环信导入部分
    pod 'Hyphenate'
    pod 'EaseUI', :git => '[https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git](https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git)'
    //融云导入部分
    pod 'RongCloudIM/IMLib', '~> 2.8.3'
    pod 'RongCloudIM/IMKit', '~> 2.8.3'
    

    profile文件中添加荣誉导入部分,然后使用命令

    pod install
    
    结果导致如上图

    原因分析:项目里有类库文件产生conflict(冲突),文件名为:libopencore-amrnb.a.究其原因,是因为融云和环信都有导入这个同名的类库,而本版本的cocoapods不能解决这个重复文件的问题.包括我升级到下一版本1.4.rc都没有得到解决.

    解决办法:

    其一,回退cocoapods版本.

    先使用命令,展示列表信息

    gem list
    
    列表信息

    再删除现有的版本的cocoapods

    sudo gem uninstall cocoapods
    
    选择删除那个版本

    我选择3,全部删除.然后再会弹出该提示,是否有其他指令



    此处选择y,并继续输入指令

    sudo gem uninstall cocoapods-core
    
    删除成功

    此时再开始安装旧版本(我用了1.0.1,可以解决问题)

    sudo gem install cocoapods -v 1.0.1
    
    安装成功
    其二,移除不需要使用的库,再加入后来的库

    可以直接在profile文件中,将环信或者融云的导入指令注释掉.
    再输入指令

    pod update
    

    就可以移除已经注释掉的库.然后再写入需要的库名,后输入指令

    pod install
    

    即可成功安装后来需要的那个库,但是原来的库不能够再进行安装.

    其三,在融云或者环信中找到libopencore-amrnb.a这个库文件,先移到废纸篓,然后就可以在本版本中导入另一个第三方.为了不影响,也可以在导入成功后,把移入废纸篓的文件放回原处.

    环信的该文件所在


    融云的该文件所在

    相关文章

      网友评论

        本文标题:iOS | cocoapods 1.3.1导入环信和融云问题

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