Kotlin Multi Platform项目导入Xcode提示‘composed app’模块未找到
解决KMM + Jetpack Compose项目Xcode中找不到"composed app"模块的问题
检查KMM iOS框架构建状态
- 回到Android Studio,执行
Gradle -> iosApp -> Tasks -> ios -> assembleDebug任务,确保KMM的iOS框架成功编译生成。如果构建失败,先修复编译错误(比如依赖缺失、代码语法问题),这是Xcode能找到模块的前提。 - 确认构建产物路径:默认情况下,KMM会在
项目根目录/build/ios-frameworks/debug下生成.framework文件,检查该目录下是否存在对应模块的框架文件。
重新关联Xcode项目与KMM框架
- 打开Xcode的
IOSApp.xcodeproj,进入项目设置的Frameworks, Libraries, and Embedded Content选项卡。 - 点击
+号,选择Add Other... -> Add Files,找到Android Studio构建生成的.framework文件(路径参考上面的构建产物路径),添加到项目中。 - 确保添加的框架在Embed选项中设置为
Embed & Sign。
配置Xcode的搜索路径
- 在Xcode项目设置的Build Settings中,找到Framework Search Paths,添加KMM框架的构建产物目录路径(比如
$(SRCROOT)/../build/ios-frameworks/debug,根据你的项目结构调整相对路径)。 - 同时检查Header Search Paths,确保包含KMM框架的头文件目录,通常框架内部的头文件会自动关联,但如果有缺失可以手动添加
$(SRCROOT)/../build/ios-frameworks/debug/[框架名称].framework/Headers。
清理并重新构建
- 在Xcode中执行
Product -> Clean Build Folder,清除旧的构建缓存。 - 回到Android Studio,重新执行一次iOS框架的构建任务,确保最新的产物生成。
- 再回到Xcode,执行
Product -> Build,尝试重新编译项目。
检查IOSApp.swift中的导入语句
- 打开
IOSApp.swift,确认导入的模块名称是否和KMM框架的名称一致。比如如果KMM模块名为ComposedApp,导入语句应该是import ComposedApp,注意大小写和拼写是否正确。
内容的提问来源于stack exchange,提问作者Ben Hooper
相关产品推荐
相关产品推荐

