2013-09-26 132 views
4

使用吊舱我想用两个吊舱 - JGAFImageCache和ADNKit - 指定不同的版本AFNetworking的。这里是我的Podfile:与冲突的AFNetworking依赖

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(激活AFNetworking (~> 1.3.0)', but already activated version 2.0.0-RC3' 2.0.0-RC3),AFNetworking /核心(2.0.0-RC3),AFNetworking /核心(2.0.0-RC3),AFNetworking /核心(2.0.0-RC3),和AFNetworking /核心(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的版本使用?

回答

6

显然,最好的办法是将文件与开发商的问题用最新的依赖关系。问题是,这些荚依靠AFNetworking的API不改变,因此,如果您尝试使用更高版本以及一些API已经被去除可能存在的问题。

另一种方法是到餐桌的回购,然后让他们使用的是相同的依赖都改变podfiles内依赖自己。然后,你只需指出你的应用程序的podfile从你的分叉回购中安装它们。这可能会破坏一些东西,所以你必须自己检查一下,这显然不是一个好的长期解决方案。

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

+1:分叉回购并解决依赖性差异。随着新变化的发生,您随后可以随时从'上游'进入您的分叉。 –

+0

我很害怕这将是解决方案。 :) 谢谢(你的)信息! – user2730990