CocoaPods更新正在降级已安装的pod

时间:2015-02-03 22:51:28

标签: ios objective-c cocoapods

当我运行pod update时,MMDrawerController将从当前安装的版本(0.5.7)降级为旧版本(0.4.0)。

以下是我的Podfile的内容:

source 'https://github.com/CocoaPods/Specs.git'

link_with 'OpenEye-Mobile', 'SecurityStar Tests'

platform :ios, '7.0'

pod 'AFNetworking', '~> 2.5.0'
pod 'MBProgressHUD', '~> 0.9'
pod 'MMDrawerController'
pod 'MMDrawerController+Storyboard', '~> 0.0.1'
pod 'UIAlertView+Blocks', '~> 0.8.1'

target :"SecurityStar Tests" do
  pod 'OCMock', '~> 3.1.1'
end

我刚刚将cocoapods宝石从v.3.44更新为0.35.0。我对Podfile所做的唯一更改是将AFNetworking从2.3.1更新为2.5.0。如果我尝试将MMDrawerController显式指定为v.5.5.7,则会出现依赖性错误:

- `MMDrawerController (= 0.5.7)` required by `Podfile`
- `MMDrawerController (~> 0.4.0)` required by `MMDrawerController+Storyboard (0.0.1)`

这里发生了什么?为什么这是一个突然出现的问题? cocoapods 0.35有什么变化吗?有没有办法可以MMDrawerController+Storyboard强制MMDrawerController (= 0.5.7)使用?{/ p>

1 个答案:

答案 0 :(得分:4)

解决方案1 ​​指定与MMDrawerController + Storyboard中相同的范围

pod 'MMDrawerController', '~> 0.4.0'

解决方案2 是更新MMDrawerController + Storyboard podspec,以便它将使用最新版本。

<强>说明 问题是它说:依赖性错误。

podfile中的这一行表示最新(04.02为0.5.7):

pod 'MMDrawerController'

虽然这个要求'MMDrawerController + Storyboard':

pod 'MMDrawerController+Storyboard', '~> 0.0.1'

反过来,它在podspec中指定为依赖:

s.dependency 'MMDrawerController', '~> 0.4.0'

'〜&GT; 0.4.0'表示它可以使用版本0.4.0 - 0.4.9并且没有0.5.7与0.4.0 - 0.4.9的交点。