Compose Multiplatform iOS端集成Koin后构建失败求助
解决KMP项目iOS构建失败(Could not find "org.jetbrains.compose.annotation-internal:annotation")
问题根源
你使用的koin-compose版本为3.6.0-wasm-alpha2,这是针对Compose/WASM的专属预览版本,与当前Compose Multiplatform(1.6.5)的跨平台依赖体系不兼容,导致iOS构建时缺失必要的注解依赖。
解决方案
1. 统一Koin依赖版本
将koin-compose版本替换为与koin-core一致的3.6.0-alpha3,移除WASM专属版本。修改libs.versions.toml:
[versions] compose = "1.6.5" compose-plugin = "1.6.2" kotlin = "1.9.23" koin = "3.6.0-alpha3" koin-compose = "3.6.0-alpha3" # 替换原wasm版本 [libraries] koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" } koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koin-compose" } [plugins] jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
2. (可选)对齐Compose插件与核心版本
当前Compose插件版本(1.6.2)与Compose核心版本(1.6.5)存在小版本差异,为避免潜在兼容性问题,建议将插件版本同步为1.6.5:
[versions] compose-plugin = "1.6.5" # 与compose核心版本一致
3. 清理缓存并重新构建
执行以下命令确保依赖缓存更新:
./gradlew clean ./gradlew :composeApp:compileKotlinIosSimulatorArm64
说明
修改版本后,无需调整现有业务代码(如HomeScreen中的koinInject()写法),该API在跨平台场景下保持兼容。
内容的提问来源于stack exchange,提问作者DrAP
相关产品推荐
相关产品推荐

