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

KMP/CMP iOS构建失败:找不到androidx.compose.foundation:1.7.0匹配变体

解决iOS构建时找不到androidx.compose.foundation:1.7.0匹配变体的问题

修复步骤

  • 替换为Compose Multiplatform专属依赖
    你当前使用的androidx.compose.foundation:1.7.0是Android平台专属的Jetpack Compose依赖,而跨平台项目需要用JetBrains提供的Compose Multiplatform版本。修改项目共享模块的build.gradle.kts(或build.gradle):

    // 移除Android专属依赖
    // implementation "androidx.compose.foundation:foundation:1.7.0"
    // 改用Compose Multiplatform依赖
    implementation(compose.foundation)
    

    同时在项目根目录的settings.gradle.kts中确保添加了Compose Multiplatform的仓库:

    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
            maven("https://maven.pkg.jetbrains.space/public/p/compose/dev")
        }
    }
    
  • 统一Kotlin与Compose版本兼容性
    确保Kotlin版本和Compose Multiplatform版本匹配(比如Kotlin 1.9.20对应Compose Multiplatform 1.5.10),在项目根build.gradle.kts中配置:

    plugins {
        id("org.jetbrains.kotlin.multiplatform") version "1.9.20" apply false
        id("org.jetbrains.compose") version "1.5.10" apply false
    }
    
  • 修正iOS目标架构配置
    针对M3 MacBook的iOS Simulator arm64,检查共享模块的build.gradle.kts中的目标配置:

    kotlin {
        iosSimulatorArm64 {
            binaries {
                framework {
                    baseName = "YourFrameworkName"
                }
            }
        }
        // 保留iosArm64目标用于真机构建
        iosArm64()
    }
    

    同时在gradle.properties中添加:

    kotlin.mpp.enableGranularSourceSetsMetadata=true
    kotlin.native.enableDependencyPropagation=false
    
  • 清理缓存后重新构建
    执行命令清理缓存并预构建iOS框架:

    ./gradlew clean
    ./gradlew :shared:linkDebugFrameworkIosSimulatorArm64
    

    完成后再打开Xcode重新运行项目。


内容的提问来源于stack exchange,提问作者Murali M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 07:15:54