使用CocoaPods引入第三方库依赖冲突
来源:互联网 发布:java实现学生管理系统 编辑:程序博客网 时间:2024/05/05 01:26
问题描述
最近初期就引入了pod ‘MBProgressHUD’, ‘~> 1.0.0’最新的版本,后面由于项目需求需要用到其他第三方库,但当前库中又依赖了MBProgressHUD而且制定了版本号为:0.9.X系列的版本库,这时pod install时就会出现提示
注意:上面提示应该还会有一条说你当前Podfile.lock中已经把MBProgressHUD锁定到1.0.0版本了,这个是我演示的截图,由于我解决的时候update的时候已经把Podfile.lock文件更新了
之前用maven,gradle时也遇到过这种问题,但是CocoaPods之前还未遇到这种情况,Google后发现相关的资料基本没有,好吧自己琢磨下
解决依赖冲突问题
- 首先MBProgressHUD1.0.0跟0.9.X版本API部分有改动,所以最好的方法是去看第三方库有没有进行相应的升级
- 先查找需要使用的第三方库有对依赖库进行升级,发现最新版本中的MBProgressHUD使用的最高版本也才0.9.2
- 这条路不通只能对项目中依赖进行降级处理,拿AFNetworking做说明吧
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘> 2.0’ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>= 2.0’ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘< 2.0’ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<= 2.0’ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~> 0.1.2’ //使用大于等于0.1.2但小于0.2的版本
pod ‘AFNetworking’, ‘~>0.1’ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
- 把项目中的Podfile中改为pod ‘MBProgressHUD’, ‘>= 0.9’
由于对Podfile中原有的依赖做了修改,而Podfile.lock中记录了上一次pod install的锁定信息,所以在次install时会被告知冲突错误,所以先pod update,最好加上(–verbose –no-repo-update),在install这时在查看项目的依赖库,MBProgressHUD降为0.9.2了
当然最后还需要把项目中MBProgressHUD使用的API存在变化的地方修改过来,建议大家以后依赖第三方库的时候都自己做一层封装,降低第三方库的耦合性,这样如果第三方库有大版本升级或API变化只需要在一个地方做处理
- 使用CocoaPods引入第三方库依赖冲突
- Cocoapods 第三方依赖库管理使用介绍
- ios,使用CocoaPods做第三方库的依赖管理
- android studio使用依赖引入第三方库的路径
- Xcode7 使用cocoapods管理第三方依赖库Nimbus,编译报错,解决办法(二)
- cocoapods的安装与使用(下载安装第三方依赖库的利器)
- AndroidStudio引入第三方库导致的包冲突解决
- 使用CocoaPods管理iOS第三方库
- 使用cocoapods管理iOS第三方库
- 使用cocoapods来管理第三方库
- 使用CocoaPods管理iOS第三方库
- Xcode使用第三方库-Cocoapods
- 使用CocoaPods安装第三方库
- 使用CocoaPods 安装第三方库
- 引入第三方库
- 什么是CocoaPods?安装CocoaPods,使用CocoaPods安装第三方库,更新CocoaPods本身,解决安装第三方库失败问题
- JitPack使用第三方依赖库
- jitpack第三方依赖库使用
- openresty详解
- 带你认识Google 屌炸天的AR项目——Project Tango
- 一个用Python实现的多入口全网爬的多线程爬虫的实现
- 关于ios中图片的裁剪
- 满足条件的整数 - 详解
- 使用CocoaPods引入第三方库依赖冲突
- JQuery中根据属性或属性值获得元素
- DirectX11与游戏编程学习路线自拟
- lua-resty-kafka的使用
- Humidexpoj3299
- 素材网
- MVC,MVP 和 MVVM 的图示
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- tomcat permgen space 内存溢出解决方法