将 kotlinx-datetime 添加到我的 Kotlin 多平台应用程序会破坏 iOS 构建

Ren*_*tos 1 android kotlin kotlin-multiplatform kmm

我能够在 Android 和 iOS 中成功运行 Android Studio 生成的示例应用程序。我在向导步骤中选择了 CocoaPods。

但是当我将kotlinx-datetime添加到我的依赖项中时,我只能运行 Android 版应用程序。

我的 build.gradle.kts :

    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.0")
            }
        }
    ...

Run Code Online (Sandbox Code Playgroud)

添加库时出现以下错误:

> Task :shared:linkDebugFrameworkIosX64 FAILED
e: Compilation failed: Expecting descriptor for kotlin.time/TimeMark.<init>|-5645683436151566731[0]

 * Source files: 
 * Compiler version info: Konan: 1.7.0 / Kotlin: 1.7.20
 * Output kind: STATIC_CACHE

e: java.lang.IllegalStateException: Expecting descriptor for kotlin.time/TimeMark.<init>|-5645683436151566731[0]
Run Code Online (Sandbox Code Playgroud)

如何重现:

  1. 使用 AS 创建 KMM 示例应用程序。
  2. 将库:implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.0")添加到 build.gradle.kts 中的 commonMain
  3. 尝试以任何方式使用/导入/打印 LocalDate

有什么想法如何解决这个问题吗?

Bur*_*rak 5

升级到 Kotlin 1.7.0 并使用 kotlinx-datetime 0.3.2 后,我开始面临同样的问题。

按照此处的建议,升级即可org.jetbrains.kotlinx:kotlinx-datetime:0.3.3解决问题。