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

CocoaPods update is downgrading an installed pod

当我 运行 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 gem 从 v. 0.34.4 更新到 0.35.0。我对 Podfile 所做的唯一更改是将 AFNetworking 从 2.3.1 更新到 2.5.0。如果我尝试将 MMDrawerController 明确指定为 v.0.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)

解决方案 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'

'~> 0.4.0'表示可以使用0.4.0 - 0.4.9版本,0.5.7和0.4.0 - 0.4.9没有交集。