IntelliJ 和 Kotlin Multiplatform - 针对 iOS 源的“Kotlin Not Configured”警告

问题描述 投票:0回答:1

我正在开发一个 Kotlin Multiplatform 项目,该项目同时包含 Android 和 iOS 实现。我正在使用 Gradle Kotlin DSL 来构建项目。从 1.6 升级到 Kotlin 1.8 后,IntelliJ 现在会在库的 iOS 部分的任何 Kotlin 文件上方显示黄色警告

Kotlin not configured
。我也不再能够在受影响的文件中使用代码完成。

我的

build.gradle.kts
内容如下:

import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework

plugins {
    kotlin("multiplatform") version "1.8.10"
    id("com.android.library")
}

kotlin {
    android()

    val xcf = XCFramework()
    listOf(iosSimulatorArm64(), iosX64(), iosArm64("ios")).forEach {
        it.binaries.framework {
            baseName = "SharedLibrary"
            xcf.add(this)
        }
    }

    sourceSets {
        val commonMain by getting

        val androidMain by getting

        val iosMain by getting
        val iosSimulatorArm64Main by getting
        iosSimulatorArm64Main.dependsOn(iosMain)
        val iosX64Main by getting
        iosX64Main.dependsOn(iosMain)
    }
}

android {
    namespace = "com.example"
    compileSdk = 32
    defaultConfig {
        minSdk = 27
        targetSdk = 32
    }
}

我该如何解决这个警告?

ios kotlin intellij-idea jetbrains-ide multiplatform
1个回答
0
投票

问题是 IntelliJ 没有读到 Kotlin 标准库应该包含在库的 iOS 部分中。明确声明

org.jetbrains.kotlin:kotlin-stdlib
作为
common
模块的依赖项,像这样:

sourceSets {
    val commonMain by getting {
        dependencies {
            implementation("org.jetbrains.kotlin:kotlin-stdlib")
        }
    }
}

允许IntelliJ与Gradle同步后,问题应该解决了!

© www.soinside.com 2019 - 2024. All rights reserved.