即使有更新的固定podspec可用,pod lib lint仍然失败并具有循环依赖性

时间:2014-11-21 20:27:22

标签: ios cocoapods

我有两个私人广告:ServicesAppUI。随着新的Cocoapods 0.35版本的发布,Service pod因为我使用循环依赖而崩溃,因为要修复它我做了重大修改并将其发布为v2.0-alpha.1

AppUI有一个名为Presenters的子视图,它取决于Services/Models

s.subspec 'Presenters' do |presenters|
  presenters.source_files = 'Classes/Presenters/**/*.{h,m}'

  presenters.dependency 'AppUI/Core'
  presenters.dependency 'Services/Models'
end

当我尝试在其上运行pod lib lint时,它会因此错误而失败:

  

[!]服务/总监和服务/模型之间存在循环依赖关系

这正是版本2.0-alpha.1修复的问题。正在运行pod lib lint --verbose我发现了这个:

Creating possibility state for Services/Models (4 remaining)
  Attempting to activate Services/Models (2.0-alpha.1)
  Unsatisfied by requested spec
  Unwinding for conflict: Services/Models
Creating possibility state for Services/Models (3 remaining)
  Attempting to activate Services/Models (1.0)

它首先尝试正确的版本,但由于隐藏的“#34;不满意请求的规范”而退回到旧的1.0。请求的规范没有指定版本如何不满足?我无法指定'~> 2',因为AppUI支持旧版本和新版本。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在CocoaPods 0.35中,除非您明确要求,否则将排除预发布(即2.0-alpha.1)。

您可以使用以下内容明确解决该版本:

pod 'Services', '2.0-alpha.1'

或者,这样的东西可以获得最新版本,预发布或不发布:

pod 'Services', '> 0.0.0.pre'