0

クリーン インストールの直前に動作していたプロジェクト Cocoapods のクリーン インストールを行った後、コンパイルすると次のエラーが発生します。

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

どうすれば修正できますか?

4

3 に答える 3

4

TL;DR

かなりクリーンな修正は、 に移動して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.x2.62.7.xSwinjectStoryboard

ところで、修正が進行中のようです。マスター ブランチ上にありますが、まだバージョン タグが付けられていません。

于 2019-11-27T19:00:12.547 に答える
1

このエラーは、2.7.0 リリースの一部として Swinject を Swift 5 に移動したために発生します。これを書いている時点で、既に SwinjectStoryboard のマスター ブランチにマージされているため、修正されています。欠けているのは、新しいバージョンをリリースすることだけです。

したがって、Swinject 2.6 にフォールバックすることを除いて、他の一時的な回避策もあります (公式リリースが行われるまで) - Podfile で定義して master ブランチのコンテンツをフェッチする

pod 'SwinjectStoryboard' , :git => 'https://github.com/Swinject/SwinjectStoryboard.git', :branch => 'master'

これ専用のチケットがあります。

于 2020-05-10T08:36:52.467 に答える