未正确引用嵌套 KMM 包
Nested KMM Package Not referenced correctly
我正在尝试在我的 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 来自 KmmPackageOne
// in swift class
...
val buzz = Buzz(foo: Foo())
抛出以下错误
Argument type `Foo` does not conform to expected type `KPTFoo`
我假设 KPT 表示 KmmPackageTwo。所以看起来XCode在KmmPackageOne中的KmmPackageTwo增加了一层抽象。
build.gradle 的 KmmPackageOne
sourceSets {
commonMain {
kotlin.srcDir('src/commonMain/kotlin')
dependencies {
implementation("locationOf:KmmPackageTwo:+")
}
}
如果您尝试导入 2 个 Xcode 分别使用 Kotlin 构建的框架,则不能这样做。我今天刚回答过类似的问题。
您需要构建 1 个 Xcode 包含所有 Kotlin 模块的框架。
我正在尝试在我的 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 来自 KmmPackageOne
// in swift class
...
val buzz = Buzz(foo: Foo())
抛出以下错误
Argument type `Foo` does not conform to expected type `KPTFoo`
我假设 KPT 表示 KmmPackageTwo。所以看起来XCode在KmmPackageOne中的KmmPackageTwo增加了一层抽象。
build.gradle 的 KmmPackageOne
sourceSets {
commonMain {
kotlin.srcDir('src/commonMain/kotlin')
dependencies {
implementation("locationOf:KmmPackageTwo:+")
}
}
如果您尝试导入 2 个 Xcode 分别使用 Kotlin 构建的框架,则不能这样做。我今天刚回答过类似的问题。
您需要构建 1 个 Xcode 包含所有 Kotlin 模块的框架。