Kotlin MPP pod 集成失败

Kotlin MPP pod integration fails

我 3 天前刚刚发布了第一个版本的 Kotlin MPP 作为库。它已成功集成到 Android 和 iOS 上。 第一次发布后,我切换到同事分支并使我的缓存无效。从那时起我就无法再同步 gradle。

我收到此错误:

Task :cinteropSnowplowTrackerIosArm64 Exception in thread "main" java.lang.Error: /var/folders/gv/rc4dmzjs3wj9kt4kr00nwhdw0000gn/T/13496315139908854548.m:1:9: fatal error: could not build module 'SnowplowTracker' at org.jetbrains.kotlin.native.interop.indexer.UtilsKt.ensureNoCompileErrors(Utils.kt:152) at org.jetbrains.kotlin.native.interop.indexer.ModuleSupportKt.getModulesASTFiles(ModuleSupport.kt:68) at org.jetbrains.kotlin.native.interop.indexer.ModuleSupportKt.getModulesInfo(ModuleSupport.kt:14) at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.buildNativeLibrary(main.kt:515) at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.processCLib(main.kt:266) at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.interop(main.kt:76) at org.jetbrains.kotlin.cli.utilities.InteropCompilerKt.invokeInterop(InteropCompiler.kt:45) at org.jetbrains.kotlin.cli.utilities.MainKt.mainImpl(main.kt:38) at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:60)

即使回到我的第一个 POC 提交(已成功发布多次),我也无法再构建了。 我不知道问题出在哪里。我尝试设置一大堆不同的 JDK 版本(8、11、14、15、16、17)但没有成功。我尝试将 Kotlin 版本从 1.4.20 升级到 1.5.x。我尝试降级 IntelliJ IDEA 和更多的东西都没有成功。我现在唯一的猜测是它与更新的某些插件有关。我该如何验证?

Pod 的集成方式如下:

   cocoapods {
    ios.deploymentTarget = "12"
    summary = "Kaia tracking library"
    homepage = "https://github.com/KaiaHealth/kaia-tracking-library"
    authors = company

    pod("SnowplowTracker") {
        version = "~> 1.2.0"
    }
}

我认为这与最近的 Xcode/toolchain 更新有关。上周编译正常的其他 cocoapod 也遇到了同样的问题。我现在刚刚删除了 pod,但如果有办法降级 xcode 工具链,可能会有帮助。

xoif 的出处为 he answered this on youtrack。问题似乎是 xcode command line tools 13 解决方案是降级:

  1. Download Xcode 12.5
  2. Select Xcode 12.5.1 作为默认命令行工具(在 Xcode -> 首选项 -> 位置)
  3. cinterop 应该又可以工作了。

很高兴 xcode 降级对你们中的一些人有所帮助。据推测,有关 Xcode 13 和 Clang/cinterop 的一些问题将在 Kotlin 1.6.0 中得到修复。但是,由于其他问题,当前预览版 (1.6.0-M1) 对我来说仍然失败。如果我找到使用 kotlin 1.6.0 和 Xcode 13 进行配置 运行 的方法,我会在本帖中通知您。