3

「SDWebImage」を参照するカスタム フレームワークがあります。問題は、すでに README に記載されているように、SDWebImage で使用される異なるモジュール/フレームワーク名です: https://github.com/rs/SDWebImage#usage

Swift コードの埋め込みに切り替えたので、Cocoapods を取り除きました。これは、私にとってあまりにも多くの問題を引き起こしたため、Carthage に切り替えました。これまでのところすべて問題なく動作していましたが、Carthage の依存関係が " WebImage" フレームワークにリンクし、私のフレームワークを使用するプロジェクトが Cocoapods を介して " " にリンクされるという問題が発生しましたSDWebImage

WebImage へのリンケージを弱い経由に切り替えた-weak_framework WebImageので、リンク エラーは発生しませんが、問題は残ります。

私のフレームワークでは、WebImage ソースを

#import <WebImage/SDWebImageManager.h>

が必要なため、実行時に見つかりませんSDWebImage/SDWebImageManager.h。弱いリンクのため、エラーは発生しませんが、すべてのオブジェクトが nil であるため、何も実行されません。

明らかに、ランタイムチェックを介してこの問題に対処できるようですが、名前空間が異なるだけでシンボル名が同じである場合、どうすればよいでしょうか? 利用可能な場合は SDWebImage を使用し、そうでない場合は WebImage を「条件付きで」使用する方法はありますか?

また、両方のソースからヘッダーをインポートして、SDWebImage フレームワークと WebImage の両方に (弱い) リンクしようとしましたが、明らかにそれはあまりきれいではなく、機能しません。

SDWebImage について以前に考えたことがある人や問題があった人はいますか?

4

0 に答える 0