使用具有冲突的AFNetworking依赖关系的pod

时间:2013-09-26 21:33:38

标签: ios cocoapods

我正在尝试使用两个pod - JGAFImageCache和ADNKit - 指定不同版本的AFNetworking。这是我的Podfile:

platform :ios, '7.0'
pod 'AFNetworking'
pod 'ADNKit'
pod 'JGAFImageCache'
pod 'DerpKit'
pod 'SVProgressHUD'
pod 'SSKeychain'
pod 'iOS7Colors', '~> 2.0.0'

运行pod install时,收到此消息:

  

[!] ADNKit(1.3.1)尝试通过Podfile,AFNetworking(2.0.0-RC3),AFNetworking / Core(2.0.0-RC3),AFNetworking激活AFNetworking (~> 1.3.0)', but already activated version 2.0.0-RC3' / Core(2.0.0-RC3),AFNetworking / Core(2.0.0-RC3)和AFNetworking / Core(2.0.0-RC3)。

删除AFNetworking并依赖ADNKit中的v1.3.0会产生以下结果:

  

[!] JGAFImageCache(1.1.0)尝试通过ADNKit(1.3.1)激活AFNetworking (~> 1.2.0)', but already activated version 1.3.3'。

我很高兴与v1.3.1合作;我不需要最新版本的AFNetworking。

如何让JGAFImageCache和ADNKit停止争夺使用哪个版本的AFNetworking?

1 个答案:

答案 0 :(得分:6)

显然,最好的办法是向这些开发人员提出使用最新依赖关系的问题。问题是这些pod依赖于AFNetworking的API不会更改,因此如果您尝试使用更高版本并且某些API已被删除,则可能会出现问题。

另一种方法是fork那些repos,然后自己更改podfiles中的依赖项,以便它们都使用相同的依赖项。然后,您只需将应用程序的podfile指向您的分叉存储库即可安装它们。这可能会破坏某些东西,所以你必须自己检查,这显然不是一个好的长期解决方案。

pod 'ADNKit', :git => 'https://github.com/yourUsername/ADNKit.git'