iOS Developer

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

2018-01-18  本文已影响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这个库文件,先移到废纸篓,然后就可以在本版本中导入另一个第三方.为了不影响,也可以在导入成功后,把移入废纸篓的文件放回原处.

环信的该文件所在


融云的该文件所在
上一篇下一篇

猜你喜欢

热点阅读