iOS Flutter应用编译报错:Firebase模块重定义及依赖构建失败
Flutter iOS编译报错:Firebase模块重定义及依赖链问题解决方案
我在iOS模拟器和真机上运行Flutter应用时,持续遇到编译报错。已经尝试过删除所有Pod文件/文件夹、重新安装Pods、修复缓存、更新相关组件,但问题依然存在。报错信息如下:
Could not build the precompiled application for the device. Error (Xcode): redefinition of module 'Firebase' /Users/yomna/apps/Intros/intros_dating/ios/Pods/Firebase/CoreOnly/Sources/module.modulemap:0:7 Error (Xcode): could not build module 'ObjectiveC' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/usr/include/os/object.h:113:8 Error (Xcode): could not build module 'os_object' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/usr/include/dispatch/dispatch.h:62:9 Error (Xcode): could not build module 'os_object' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/usr/include/os/workgroup_base.h:18:9 Error (Xcode): could not build module 'Dispatch' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:19:9 Error (Xcode): could not build module 'CoreFoundation' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:5:9 Error (Xcode): could not build module 'CoreFoundation' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h:27:9 Error (Xcode): could not build module 'CoreFoundation' /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFNetwork.h:17:9
解决方案
排查Firebase依赖冲突
核心报错是Firebase模块重定义,大概率是项目中同时引入了Firebase/CoreOnly和完整Firebase库。打开ios/Podfile检查是否同时存在pod 'Firebase'与pod 'Firebase/CoreOnly',保留其一即可。如果是Flutter插件导致的冲突,在pubspec.yaml中统一所有Firebase相关插件的版本,避免不同插件拉取不同版本的Firebase依赖。彻底清理构建缓存
除了Pods清理,还要清理Xcode的缓存文件:- 关闭Xcode
- 删除
~/Library/Developer/Xcode/DerivedData下的全部内容 - 回到Flutter项目根目录执行
flutter clean - 进入ios目录执行
pod deintegrate && pod install
校验Xcode SDK与项目配置
报错涉及系统框架构建失败,可能是SDK版本与项目部署目标不匹配:- 打开Xcode,选中项目target,检查
Deployment Target是否与当前使用的iPhoneOS 16.0 SDK兼容 - 确认
Build Settings中的Base SDK设置为Latest iOS或指定的16.0版本 - 检查
Framework Search Paths是否存在重复或无效路径,防止系统框架被重复引用
- 打开Xcode,选中项目target,检查
重新生成iOS项目配置
若以上方法无效,可尝试重置iOS项目配置:- 备份ios目录下的
Runner文件夹(包含Info.plist、Assets.xcassets等自定义配置) - 删除整个ios目录
- 执行
flutter create --platforms ios .重新生成iOS项目结构 - 恢复备份的自定义配置,重新配置Pods和Firebase相关设置
- 备份ios目录下的
内容的提问来源于stack exchange,提问作者yyyy
相关产品推荐
相关产品推荐

