Kotlin Multiplatform Mobile:从Android Studio运行iOS应用时遇到配置问题
我之前也碰到过类似的KMM iOS运行配置困扰,结合你的环境信息和问题描述,给你几个针对性的排查和解决方向:
检查Kotlin插件与Android Studio版本兼容性
你的Kotlin插件版本是1.4.20,但Android Studio 4.1.2对应的官方推荐Kotlin版本是1.4.10左右,版本不匹配很可能导致Xcode项目识别异常。你可以尝试两个方向:要么把Kotlin插件降级到1.4.10版本,要么升级Android Studio到更适配1.4.20的4.2.x系列版本,之后重启AS并重新同步项目。清理缓存并重新同步项目
自动生成的配置缓存有时候会搞乱关联。先关闭Android Studio和Xcode,然后删除这些目录:- 项目根目录下的
.gradle和build文件夹 - Xcode项目的
DerivedData(可以在Xcode的Preferences -> Locations里找到对应的路径删除)
之后重新打开Android Studio,执行File -> Sync Project with Gradle Files,再去查看Xcode方案下拉菜单。
- 项目根目录下的
再次确认Xcode路径配置的准确性
虽然你说已经指定过路径,但还是再仔细核对一遍:打开Android Studio的Preferences -> Build, Execution, Deployment -> Build Tools -> Xcode,确保路径指向的是Xcode 11.4的实际安装位置(比如/Applications/Xcode.app),有时候路径可能误指向了beta版Xcode或者其他无关位置,导致AS无法正确识别项目。检查KMM项目的Gradle配置
打开项目根目录的settings.gradle和iOS模块的build.gradle.kts(或.gradle文件),确认iOS模块的Xcode项目路径配置是否正确,比如:ios { binaries { framework { baseName = "YourFrameworkName" } } xcodeProject = file("../iosApp/YourXcodeProject.xcodeproj") }确保路径是相对项目根目录的正确路径,没有拼写错误或者路径层级问题。
用KMM命令行工具重新同步框架关联
打开终端,进入你的KMM项目根目录,执行以下命令:./gradlew iosSyncFramework这个命令会重新同步KMM共享框架和Xcode项目的关联,很多时候能修复AS无法识别Xcode方案的问题。
因为你直接用Xcode能正常启动iOS应用,说明项目本身没有问题,问题大概率出在Android Studio与KMM插件对Xcode项目的识别或同步环节,按上面的步骤逐一排查应该能解决你的问题。
内容的提问来源于stack exchange,提问作者Maverick

