いくつかのobjective-cフレームワークをインポートする必要があるフレームワークを構築していますが、「Beaconstac.framework」をインポートする必要がありますが、Swiftフレームワークプロジェクトにブリッジヘッダーを追加できないため、だから私の質問は、私のプロジェクトでこのフレームワークをどのように使用できるかですこれは私が試した私のプロジェクトでは直接アクセスできません
beaconstacをインポートする
しかし、そのエラー「そのようなモジュールはありません」
これを行うための代替手段はありますか?
アンブレラヘッダーにBeaconstacフレームワークをインポートする必要があります。つまり、通常使用する場合、たとえば#import <Beaconstac/Beaconstac.h>
Obj-Cブリッジヘッダーで、フレームワークの場合、それをアンブレラヘッダーに配置する必要があります。
詳細については、Appleのドキュメントのこの章を参照してください。
既存のObjCフレームワークをSwiftフレームワークプロジェクトに含める手順
Swiftで「SwiftProj.framework」プロジェクトを作成しているとします。これは、内部でObjectiveC「ObjC.framework」を使用する必要があります。
module ObjC{
header "ObjC.framework/Headers/ClassA.h"
export *
}
Xcconfigファイルを作成します([ファイル]-> [新規]-> [iOS]-> [その他]-> [構成設定ファイル])
Xcconfigファイル内
Swift_INCLUDE_PATHS = $(SRCROOT)/
MODULEMAP_PRIVATE_FILE = $(SRCROOT)/module.modulemap
これで、SwiftProj.frameworkでObjC.ClassAにアクセスできます。
module.modulemap
というファイルを作成し、次の内容を含めます。
module ObjCFrameworkName {
header "ObjCFrameworkName.framework/Headers/ObjCFrameworkNameUmbrellaHeader.h"
export *
}
Obj-Cフレームワークのアンブレラヘッダーへの正しいパスが必要であることに注意してください。これは、上記の例にリストされているものとわずかに異なる場合があります。
それでも問題が解決しない場合は、 このプロジェクト を確認することを強くお勧めします。