KMM项目iOS构建报错:ld: framework 'FirebaseCore' not found
可能的原因及解决方向
共享模块Gradle未配置Firebase框架链接
KMM的shared模块编译iOS框架时,Gradle需要明确指定要链接的第三方框架。即使Xcode中添加了FirebaseCore,Gradle构建阶段可能未读取到这个配置。需要在shared/build.gradle.kts的iOS目标配置中补充链接参数:ios { binaries.framework { linkerOpts.add("-framework", "FirebaseCore") } // 若用Cocoapods集成,需确保cocoapods块配置正确 cocoapods { // ...其他配置 pod("Firebase/Core") { version = "11.6.0" } } }Cocoapods依赖未正确同步
如果通过Cocoapods管理iOS端Firebase依赖,可能存在依赖同步不彻底的问题:- 检查iOS项目根目录的
Podfile是否包含pod 'Firebase/Core', '11.6.0'; - 执行
pod update更新依赖后,重新触发Gradle同步(点击Android Studio中的"Sync Project with Gradle Files"按钮); - 确保
shared模块的Cocoapods配置中开启了useFrameworks。
- 检查iOS项目根目录的
架构不匹配
报错针对iosArm64架构,需核对两端架构配置:- 检查Xcode项目的Build Settings -> Architectures是否包含
arm64; - 确认
shared模块的Gradle配置中,iOS目标的架构与Xcode一致,例如:ios { targets { listOf(iosArm64, iosX64, iosSimulatorArm64).forEach { it.binaries.framework { // ...配置 } } } }
避免Gradle只编译单一架构,而Xcode尝试构建其他架构导致找不到对应版本的FirebaseCore。
- 检查Xcode项目的Build Settings -> Architectures是否包含
Xcode与Gradle同步不彻底
缓存或旧配置可能干扰构建:- 删除Xcode的DerivedData(路径可通过Xcode -> Preferences -> Locations -> DerivedData查看);
- 执行
./gradlew clean清理Gradle构建缓存; - 重新打开Xcode,执行
File -> Packages -> Update to Latest Package Versions后再尝试构建。
Firebase版本兼容性问题
dev.gitlive:firebase与iOS原生Firebase SDK可能存在版本适配要求。查看GitLive Firebase的官方文档,确认其推荐的iOS Firebase SDK版本范围,尝试调整到匹配的版本组合。Xcode框架搜索路径错误
检查Xcode项目的Build Settings -> Framework Search Paths,确保包含:$(inherited)(继承Cocoapods的路径配置);- 若手动添加FirebaseCore框架,需确保路径指向框架所在的正确目录,避免路径错误导致链接失败。
内容的提问来源于stack exchange,提问作者dhaval123
相关产品推荐
相关产品推荐

