首页 > 解决方案 > 类型“SwinjectStoryboardOption”不符合协议“ServiceKeyOption”

问题描述

在我对我的项目 Cocoapods 进行了全新安装之后,该项目在全新安装之前工作,现在当我编译时出现该错误:

Type 'SwinjectStoryboardOption' does not conform to protocol 'ServiceKeyOption'

我如何解决它?

标签: swiftxcodeswinject

解决方案


TL;博士

相当干净的解决方法是去Podfile.lock寻找Swinject,将它的版本设置为2.6.0而不是2.7.x. 它看起来像这样:

  - Swinject (2.6.0)

发布SwinjectStoryboard修复程序后,您只需更新SwinjectStoryboard它,它就会自动更新Swinject到正确的版本。

问题

看起来 SwinjectStoryboard 在他们的 podspec 文件中有错误的依赖描述:

s.dependency 'Swinject', '~> 2.6'

这导致cocoapods选择任何2.x高于2.6. 所以它错误地选择2.7.x了与当前SwinjectStoryboard版本不兼容的。

顺便说一句,修复似乎正在进行中,它在主分支上,但尚未标记版本。


推荐阅读