2017-10-03 6 views
1

特定のビルド構成でモジュールを実装する際に問題が発生しました。私はObjective-C Bridging Headerファイルを使用せずにSwiftに自然にインポートできるように、モジュールマップファイルを追加したいという動的なフレームワークがたくさんあります。次のように私がいる問題は、次のとおりです。Xcodeフレームワークモジュール

私は、複数のモジュラーフレームワークがあります。

Framework.framework(すべてのコンポーネントに必要な基本フレームワーク、)

Framework.Component1.frameworkを

Framework.Component2.framework

...など

Iは、(他の理由のうち、下位互換性のために)モジュール命名このドット表記を使用する各フレームワークのモジュールマップを記述できるようにしたいが、Xcodeのが許可されていませんドットシンタックスはサブモジュールのために予約されているので、私はドットシンタックスを使ってモジュール全体に名前を付ける。

私は、さまざまなコンポーネントのすべてを含む傘フレームワークを作成しようとしましたが、そのための単一のモジュールマップを作成しましたが、フレームワークが動的であるため、傘のフレームワーク内部のフレームワーク。

フレームワークごとに個別のモジュールマップファイルを作成しているときに、このドット構文を使用できるソリューションはありますか?

ありがとうございます!

答えて

0

傘のフレームワーク戦略に従ってください。

次に、アンブレラフレームワークで "オプション"のサブモジュール(おそらくすべてまたはほとんどのサブモジュール)に対して、サブモジュールの宣言をexplicitに設定します。つまり、コンシューマはサブモジュールを読み込むためにサブモジュールを明示的にインポートする必要があります。これは、私が過去にクラインのモジュールシステムに非常に大きなCライブラリをインポートするために行ったことであり、十分に機能しました。

ドキュメントはです。大丈夫ですが、それほど大きくありません。しかし、彼らはこのケースをかなりうまく通ります:https://clang.llvm.org/docs/Modules.html#submodule-declaration

関連する問題