編集:この問題はXcode 12 Beta5の後に発生します。 Xcodeは、異なるモジュールが同じ名前(おそらくパブリッククラスやプロトコルの場合)を定義できません。 AlamofireおよびKingfisherは、SessionDelegateを同時に定義するように見えます。私はまだ解決策を見つけようとしています。
私はアプリケーションでiOS 14ウィジェットを実装しています。私はXcode 12 Beta 2とeverthingが編集しました。 Xcode to Xcode 12 Beta 6を更新すると、次のエラーに直面しました。
'sessionDelegate'には異なるモジュールで異なる定義があります。最初の違いはモジュール 'kingfisher.swift'の定義です。
ファイルのスクリーンショットもエラーで添付しています。
AlamoFireまたはKingfisherのSessionDelegateの名前が異なるようにヘッダーファイルを編集する方法はありますか?この問題を克服するための回避策はありますか?
これまでに試したことは次のとおりです。
あなたが一時的な解決策が必要な場合は、ここにCocoApodsユーザーのためのものです。
Kingfisherライブラリをプロジェクトで同じフォルダレベルにクローンします。あなたはそれをから得ることができます github
Open kingfisher.xcworkspaceソース/ Netowfingの下のsessionDelegate.swiftファイルをKingFisherSessionDelegateに変更し、それに応じてクラス名を変更します。
SessionDelegateの使用状況をKingFisherSessionDelegateに変更するKingfisherバージョン5.15.0の時点でのソース/ネットワーク/ IMageDownLoader.swift
ローカルパスをPodfile
pod 'Kingfisher'、:Path => '.. /kisher'
エラーは、同じ名前の複数のクラスが多数SessionDelegateさまざまなモジュールで存在すると言っています。 このエラーはXcode 12と関連しています
今のところ、クイックソリューションは、モジュールをCocoApodsでインストールすることです(CARTHAGEを使用している場合)、必要に応じてSessionDelegateインタフェースの名前を変更します。