XCFramework MyFramework を作成し、指示に従って KMM に接続しようとしましたhttps://kotlinlang.org/docs/mobile/add-dependencies.html#add-a-framework-without-cocoapods
MyFramework.xcframowork は KotlinMultiplatform プロジェクトのルート内に配置されました
私の .def ファイルは次のようになります。
language = Objective-C
modules = MyFramework
package = MyFramework
build.gradle.kts ファイルに次のように記述します。
kotlin {
android()
iosX64 {
compilations.getByName("main") {
val MyFramework by cinterops.creating {
// Path to .def file
defFile("src/nativeInterop/cinterop/MyFramework.def")
compilerOpts("-framework", "MyFramework", "-F/")
}
//val anotherInterop by cinterops.creating { /* ... */ }
}
binaries {
framework {
baseName = "shared"
}
}
binaries.all {
// Tell the linker where the framework is located.
linkerOpts("-framework", "MyFramework", "-F/")
}
}
しかし、KMM プロジェクトを iOS 用にコンパイルすると、次のエラーが表示されます。
Task :shared:cinteropEventBusTypesIosX64 FAILED
Exception in thread "main" java.lang.Error: /var/folders/8h/_7cdkbh56b3fc72xbkjpk4nd218xjp/T/8209547019177661418.m:1:9: fatal error: module 'MyFramework' not found
compilerOpts("-framework", "MyFramework", "-F/") に間違ったパスを書いたと思いますが、別の理由かもしれません。