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

use*_*990 4 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'
Run Code Online (Sandbox Code Playgroud)

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

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

删除AFNetworking并依赖v1.3.0于ADNKit导致:

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

我很乐意和你一起工作v1.3.1; 我不需要最新版本的AFNetworking.

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

iwa*_*bed 6

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

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

pod 'ADNKit', :git => 'https://github.com/yourUsername/ADNKit.git'
Run Code Online (Sandbox Code Playgroud)