使用JetBrains KMP向导创建的iOS项目报错:No such module 'ComposeApp'
解决KMP Wizard生成项目iOS端
No such module 'ComposeApp'错误 以下是可落地的修复步骤,按顺序尝试:
1. 手动触发共享框架编译
- 打开项目根目录终端,执行
./gradlew clean清理构建缓存 - 根据你的Mac架构运行对应命令:
- Apple Silicon Mac:
./gradlew iosSimulatorArm64Framework - Intel Mac:
./gradlew iosX64Framework
- Apple Silicon Mac:
- 等待构建完成后,重新打开Xcode项目(路径一般为
iosApp/iosApp.xcodeproj)
2. 校验Xcode项目配置
- 选中
iosApp目标,进入Build Settings - 搜索
Framework Search Paths,确认包含../shared/build/xcode-frameworks/[你的架构目录](比如iosSimulatorArm64),缺失则手动添加并选择recursive - 搜索
Other Linker Flags,确保存在-framework ComposeApp配置
3. 检查KMP Gradle配置
- 打开项目根目录
build.gradle.kts,确认iOS目标的框架配置正确:iosSimulatorArm64 { binaries.framework { baseName = "ComposeApp" // 保持向导生成的isStatic配置,不要随意修改 } } - 检查
shared模块的build.gradle.kts,确保Compose依赖配置完整:kotlin { sourceSets { val iosMain by getting { dependencies { implementation(compose.ui) implementation(compose.foundation) implementation(compose.material) implementation(compose.runtime) } } } }
4. 清理Xcode深层缓存
- 关闭Xcode,执行终端命令:
rm -rf ~/Library/Developer/Xcode/DerivedData - 删除项目根目录的
.gradle和build文件夹,重新执行./gradlew assemble
5. 验证Xcode版本兼容性
- 确保Xcode版本与项目指定的iOS SDK版本匹配(比如项目要求iOS 14+,则Xcode需12.5及以上)
- 若使用新版Xcode,可尝试调整
IPHONEOS_DEPLOYMENT_TARGET为符合要求的最低版本
内容的提问来源于stack exchange,提问作者Iñaki B
相关产品推荐
相关产品推荐

