You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KMM iOS模块报Unresolved reference: platform错误求助

Windows环境Android Studio中KMM项目iOS侧platform包引用报错修复

问题表现

  • 基于官方模板新建KMM项目后,shared模块iOS源码集的Kotlin代码无法识别platform包,import platform.UIKit.UIDevice位置抛出引用错误
  • Android侧代码编译、运行完全正常
  • 开发环境为Windows系统,无iOS构建、运行需求,仅需要IDE正常识别iOS侧的platform相关API引用,消除代码报错

根因说明

官方KMM项目模板默认会加系统判断逻辑,仅在macOS环境下才会注册iOS编译目标,Windows环境下Gradle同步时会直接跳过iOS相关配置,IDE不会拉取iOS平台的API存根做索引,因此会报找不到包的错误,和是否能实际构建iOS应用无关。

修复步骤

  • 打开shared模块下的构建脚本:如果用Kotlin DSL就是shared/build.gradle.kts,Groovy DSL就是shared/build.gradle
  • 找到脚本中包裹iOS目标配置的系统判断代码,通常长这样:
if (System.getProperty("os.name").contains("Mac", ignoreCase = true)) {
    // iOS target 配置
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
        }
    }
}
  • 将iOS目标的配置整体移出系统判断块,保留iOS目标的声明即可,不需要在Windows上安装任何苹果开发相关工具。修改后的配置参考:
kotlin {
    androidTarget()
    // 全平台保留iOS目标声明,Windows下仅用于IDE索引,不会实际触发iOS构建
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
            isStatic = true
        }
    }

    sourceSets {
        // 原有sourceSets配置保持不变
        commonMain.dependencies {
            // 原有依赖
        }
        androidMain.dependencies {
            // 原有依赖
        }
        iosMain.dependencies {
            // 原有依赖
        }
    }
}
  • 点击Gradle同步按钮,等待同步完成后重启Android Studio,等IDE索引进度加载完成,platform.UIKit相关的引用错误就会消失。

注意:该操作仅会让IDE加载iOS平台的API签名存根用于代码检查、提示,不会让Windows环境获得iOS应用构建能力,不会额外占用过多磁盘空间,完全匹配仅需要识别引用的需求。

额外排查项

如果上述操作完成后报错依然存在,按以下顺序检查:

  • 打开Settings > Build, Execution, Deployment > Build Tools > Gradle,确认Gradle使用的JDK版本为17及以上
  • 确认Android Studio安装的Kotlin插件版本,和项目libs.versions.toml(或构建脚本中)声明的Kotlin版本完全一致,版本不匹配会导致跨平台代码索引异常
  • 执行File > Invalidate Caches...勾选清除缓存并重启IDE,重新触发全量索引

内容的提问来源于stack exchange,提问作者Alexander Plekhanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 11:45:25