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