Ios pod lib lint由于循环依赖性而失败,即使有更新的固定podspec可用
我有两个私人播客:Ios pod lib lint由于循环依赖性而失败,即使有更新的固定podspec可用,ios,cocoapods,Ios,Cocoapods,我有两个私人播客:Services和AppUI。在新的Cocoapods 0.35版本中,服务pod坏了,因为我使用了循环依赖项,因为为了修复它,我做了一些破坏性的更改,并将其作为v2.0-alpha.1发布 AppUI有一个子集,名为Presenters,它依赖于服务/模型: s.subspec 'Presenters' do |presenters| presenters.source_files = 'Classes/Presenters/**/*.{h,m}' presente
Services
和AppUI
。在新的Cocoapods 0.35版本中,服务
pod坏了,因为我使用了循环依赖项,因为为了修复它,我做了一些破坏性的更改,并将其作为v2.0-alpha.1
发布
AppUI
有一个子集,名为Presenters
,它依赖于服务/模型
:
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)
它首先尝试正确的版本,但由于一个隐晦的“未满足所请求的规范”而退回到旧的1.0
。请求的规范没有指定版本,如何不满足?我不能指定'~>2'
,因为AppUI
支持旧版本和新版本
如何解决此问题?在CocoaPods 0.35中,默认情况下,除非您明确要求,否则预发行版(即2.0-alpha.1)将被排除在外 您可以使用以下方法显式解析该版本:
pod 'Services', '2.0-alpha.1'
或者,要获得最新版本,无论是否预发布:
pod 'Services', '> 0.0.0.pre'