Swift 嵌套的KMM包未正确引用

Swift 嵌套的KMM包未正确引用,swift,kotlin,kotlin-multiplatform,kotlin-multiplatform-mobile,kmm,Swift,Kotlin,Kotlin Multiplatform,Kotlin Multiplatform Mobile,Kmm,我试图在我的iOS应用程序中使用2 KMM的软件包,但是它没有被正确引用 以下是我的依赖结构: iOSApp + KmmPackageOne + KmmPackageTwo KmmPackageOne + KmmPackageTwo 下面是我试图在iOSApp中使用的示例文件 // In KmmPackageOne, class Foo.kt class Foo { fun bar() { ... } } // In KmmPackageTwo, class Buzz.kt cl

我试图在我的iOS应用程序中使用2 KMM的软件包,但是它没有被正确引用

以下是我的依赖结构:

iOSApp
 + KmmPackageOne
 + KmmPackageTwo

KmmPackageOne
 + KmmPackageTwo
下面是我试图在iOSApp中使用的示例文件

// In KmmPackageOne, class Foo.kt
class Foo {
  fun bar() { ... }
}

// In KmmPackageTwo, class Buzz.kt
class Buzz(
  private val foo: Foo
) {
  ...
}
将它们添加到iOS应用程序时,它不理解参数foo来自kmpackageone

// in swift class
...
val buzz = Buzz(foo: Foo())
    sourceSets {
        commonMain {
            kotlin.srcDir('src/commonMain/kotlin')
            dependencies {
                implementation("locationOf:KmmPackageTwo:+")
            }
        }
抛出以下错误

Argument type `Foo` does not conform to expected type `KPTFoo`
我假设KPT意味着Kmpackage2。因此,XCode似乎为KMPackageOne中的KMPackage2添加了一层抽象

KMPackageOne的build.gradle

// in swift class
...
val buzz = Buzz(foo: Foo())
    sourceSets {
        commonMain {
            kotlin.srcDir('src/commonMain/kotlin')
            dependencies {
                implementation("locationOf:KmmPackageTwo:+")
            }
        }

如果您试图导入两个分别使用Kotlin构建的Xcode框架,那么您不能这样做。我今天刚刚回答了一个类似的问题


您需要构建一个包含所有Kotlin模块的Xcode框架。

如果您试图导入两个分别使用Kotlin构建的Xcode框架,则无法这样做。我今天刚刚回答了一个类似的问题

您需要构建一个包含所有Kotlin模块的Xcode框架