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
相关产品推荐
相关产品推荐

