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

2018-02-08 10:27:54来源:https://www.jianshu.com/p/862d32bb5562作者:昭陵简丶人点击

分享


前期在项目中一直使用的是环信,但是最近好像环信的服务器不是太稳定,每每到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这个库文件,先移到废纸篓,然后就可以在本版本中导入另一个第三方.为了不影响,也可以在导入成功后,把移入废纸篓的文件放回原处.

环信的该文件所在






融云的该文件所在











最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台