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