Objective-C の名前空間の 問題を解決するために、構築中のターゲットに基づいて、依存関係の Objective-C クラスのプレフィックスを試してみたいと思います。
例として、共有ライブラリ ( ObjCStaticLib
) にクラス ( CWindow
) があるとします。これを使用する2 つのプラグイン (A
およびB
) がありますCWindow
。がと衝突するA
のを避けるために、コンパイル時にクラス名にプレフィックスを付けたいので、 は になり、はになります。CWindow
B
CWindow
CWindow
A
CWindow
ACWindow
B
BCWindow
ObjCStaticLib
コンパイル時にどのプレフィックスを使用してコンパイルする必要があるかを伝える方法を探しています。xcconfigsを使用して、リーフ ターゲットがカスタマイズして使用するプリプロセッサ マクロを指定することを考えていObjCStaticLib
ます。ただし、ターゲットがそのような依存関係と「通信」する方法を知りません。
依存関係でクライアントごとの名前空間のカスタマイズを実装するために、必要に応じて関連するすべてのソース/プロジェクト/などを変更できます。
誰かがこれに対する良い解決策を持っていますか?