Flutter构建iOS项目时出现_FLTPathProviderPlugin重复符号报错求助
问题根因
重复生成两个同名.o文件属于异常情况,核心原因是依赖链路中多个第三方包间接引入了不同版本的原生Flutter插件,导致CocoaPods编译时重复注册了同一插件的编译目标,最终出现符号重复报错。你提到空白项目正常、添加依赖后报错,也验证了是依赖冲突导致的问题。
解决方案
- 首先强制统一冲突插件的版本,在
pubspec.yaml中添加依赖覆盖配置:
dependency_overrides: path_provider: ^1.2.0 # 若后续出现其他插件的同类报错,也在此处添加对应包的版本锁定即可
- 按以下顺序执行清理重建操作,避免旧缓存干扰:
- 项目根目录执行
flutter clean - 删除
ios文件夹下的Podfile.lock文件与Pods目录 - 进入
ios目录,执行pod deintegrate - 执行
pod cache clean --all清理全局Pod缓存 - 回到根目录执行
flutter pub get - 再次进入
ios目录执行pod install
- 项目根目录执行
- 若上述操作后仍报错,打开
ios/Runner.xcworkspace进入Xcode,找到path_provider对应的编译目标,在Build Phases→Compile Sources列表中检查是否重复添加了FLTPathProviderPlugin.m文件,删除多余的重复项即可。 - 可选优化:当前使用的path_provider 1.2.0为较老的版本,本身存在CocoaPods配置缺陷,若项目兼容性允许,建议升级path_provider到2.0以上的稳定版本,可从根源避免同类问题。
内容的提问来源于stack exchange,提问作者Jun-hyeong Lee
相关产品推荐
相关产品推荐

