4

我正在尝试使用两个 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) 尝试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.0ADNKit 会导致:

[!] 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 版本而争吵?

4

1 回答 1

6

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

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

pod 'ADNKit', :git => 'https://github.com/yourUsername/ADNKit.git'
于 2013-09-26T23:41:15.233 回答