web-dev-qa-db-ja.com

Swiftプロジェクト:モジュラーフレームワークをインポートするときに「必要なモジュールがありません」

セットアップ

  1. Cライブラリ(CommonCrypto)とObjectiveCファイルを含むSwiftフレームワークを作成します。

  2. Swiftプロジェクトにはブリッジヘッダーがありません。そこで、CommonCryptoとObjective-CファイルをSwiftフレームワークにインポートするために、module.modulemapを作成します。

    module.modulemapコンテンツ: enter image description here

Module.modulemapのサンプルリンクは次のとおりです。 CommonCryptoをSwiftフレームワーク)にインポート

  1. プロジェクト設定で、modulus.modulusmapパスをSwift compile enter image description here

    したがって、私のSwiftフレームワークでは、すべてが正常に機能します。このようなモジュラスを使用できます

    enter image description here

問題が表示されます

  1. モジュラーフレームワークをアーカイブし、ビルドされた製品としてエクスポートします。

  2. 私のSwiftサンプルプロジェクトでは、埋め込みバイナリにモジュラーフレームワークを追加します enter image description here

  3. フレームワーク内で何かを使用すると、この行でエラーが発生しますenter image description here

私は非常に多くの解決策を試しましたが、それでもうまくいきません。

同様の問題:

  1. Swiftアプリ:静的ライブラリをインポートするフレームワークをインポートするときに「必要なモジュールがありません」

  2. サブプロジェクトとしてRealmSwiftを追加:必要なモジュールがありません: 'Realm.Private'、 'Realm'

誰かがこれに対する良い解決策を持っていますか?どうも!!

9
HungCLo

ソリューション

iOSフレームワークはフォルダーとして存在します。ライブラリまたはヘッダーファイルを見つけるためにmodule.modulemapを作成します。

  1. セットアップmodule.modulemapパス

    プロジェクト/ターゲット/ビルド設定/ Swiftコンパイル-検索パス/インポートパス=“ $ {SRCROOT}”

  2. 以下をmodule.modulemapに追加してください

enter image description here

備考

フレームワークが同じ開発環境にアーカイブされている場合は、module.modulemapをサンプルプロジェクトに追加する必要はありません。

4
HungCLo