我试图在我的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 of KmmPackageOne
sourceSets {
commonMain {
kotlin.srcDir('src/commonMain/kotlin')
dependencies {
implementation("locationOf:KmmPackageTwo:+")
}
}发布于 2021-05-05 21:05:53
如果您试图导入两个单独使用Kotlin构建的Xcode框架,则不能这样做。我今天刚回答了一个类似的问题。
https://stackoverflow.com/a/67403855/227313
您需要构建一个包含所有Kotlin模块的Xcode框架。
https://stackoverflow.com/questions/67408245
复制相似问题