我正在尝试使用两个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?
答案 0 :(得分:6)
显然,最好的办法是向这些开发人员提出使用最新依赖关系的问题。问题是这些pod依赖于AFNetworking的API不会更改,因此如果您尝试使用更高版本并且某些API已被删除,则可能会出现问题。
另一种方法是fork那些repos,然后自己更改podfiles中的依赖项,以便它们都使用相同的依赖项。然后,您只需将应用程序的podfile指向您的分叉存储库即可安装它们。这可能会破坏某些东西,所以你必须自己检查,这显然不是一个好的长期解决方案。
pod 'ADNKit', :git => 'https://github.com/yourUsername/ADNKit.git'