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

Mac M1新建KMM项目Android构建正常iOS构建缺失ios_simulator_arm64报错

KMM iOS构建报错(ios_simulator_arm64目标缺失)修复方案

这个错误是M1/M2系列Arm架构Mac上创建KMM项目的常见适配问题,根因是当前项目的shared模块未声明对ios_simulator_arm64(Arm架构iOS模拟器)平台的构建支持,可通过以下步骤修复:

1. 调整shared模块构建配置

找到项目下的shared/build.gradle.kts文件(Groovy语法对应shared/build.gradle),修改Kotlin多平台的iOS目标配置:

kotlin {
    // 优先使用官方快捷配置,会自动适配当前设备的iOS模拟器架构
    ios {
        binaries {
            framework {
                baseName = "shared"
            }
        }
    }

    sourceSets {
        // 补全Arm架构模拟器的源码集依赖关联
        val iosMain by getting
        val iosSimulatorArm64Main by getting
        iosSimulatorArm64Main.dependsOn(iosMain)
        val iosTest by getting
        val iosSimulatorArm64Test by getting
        iosSimulatorArm64Test.dependsOn(iosTest)
    }
}

如果上述快捷配置不生效,可以替换为按环境动态选择目标的写法:

kotlin {
    val iosTarget: (String, KotlinNativeTarget.() -> Unit) -> KotlinNativeTarget =
        if (System.getenv("SDK_NAME")?.startsWith("iphoneos") == true)
            ::iosArm64 // 真机构建用arm64目标
        else
            ::iosSimulatorArm64 // 模拟器构建用arm64目标
    iosTarget("ios") {
        binaries.framework {
            baseName = "shared"
        }
    }

    // 同上补全sourceSets配置
}

2. 清理缓存重新构建

  • 项目根目录执行命令./gradlew clean清理Android/KMP侧构建缓存
  • 进入ios目录,删除Pods文件夹和Podfile.lock文件,执行pod install重新安装iOS依赖
  • 注意打开Xcode项目时必须选择后缀为.xcworkspace的文件,不要直接打开.xcodeproj文件
  • 重新执行iOS构建即可

内容的提问来源于stack exchange,提问作者Manajit Rath

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:24:04