iOSライブラリ/フレームワークを構築しようとしています。簡単にするために、それをA
使用するプロジェクトにいくつかのクラスを公開します。ここで問題となるのは、クラスがクラスA
に依存していることです。クラスB
は、ライブラリのビルド出力に公開される(またはシンボルとして含まれる)ことを意図していません。これは問題を引き起こします。これは、クラスを含む別のライブラリがありC
、これもクラスに依存しているためB
です。
プロジェクトに両方のライブラリを含めようとすると、リンカはクラスの定義が複数あることについて文句を言いB
ます。
この問題を回避するための最良の方法は何ですか?B
2つのライブラリ(または2つのライブラリの少なくとも1つ)を構築するときに クラスを弱くリンクするように設定することは可能ですか?もしそうなら、どのように?
または、クラスB
を独自のライブラリ/フレームワークに抽出し、クラスB
をソースファイルとして含める代わりに、それを参照するように2つのライブラリを変更する必要がありますか?