Flutter iOS模拟器运行报错:RivePlugin存在多模块定义冲突
Flutter iOS模拟器构建失败:RivePlugin模块定义冲突问题
错误现象
- Xcode报错:
'RivePlugin' has different definitions in different modules; first difference is definition in module 'rive_common.Swift' found method /Users/rafaelvazquez/Documents/app/aloha_makeup/build/ios/Debug-iphonesimulator/rive_common/rive_common.framework/Headers/rive_common-Swift.h:309:0 - 模块导入错误:
Definition of 'RivePlugin' must be imported from module 'rive_common.Swift' before it is required /Users/rafaelvazquez/Documents/app/aloha_makeup/ios/Runner/GeneratedPluginRegistrant.m:113:3 - 无法在iPhone 16 Plus模拟器上构建并启动应用
解决方案
清理构建缓存
先清理Flutter和Xcode的缓存文件,避免旧构建产物干扰:flutter clean cd ios rm -rf Pods Podfile.lock build重新安装依赖
回到项目根目录,重新获取Flutter依赖并更新Pods:flutter pub get cd ios pod install --repo-update如果Pods安装仍有问题,尝试先解除集成再重新安装:
pod deintegrate pod install统一Rive依赖版本
检查pubspec.yaml中所有Rive相关依赖(如rive、rive_common)的版本,确保版本一致,避免版本差异导致模块定义冲突。可以用以下命令查看依赖更新情况:flutter pub outdated更新到兼容版本后,重新执行
flutter pub get和pod install。调整导入顺序(临时方案)
打开ios/Runner/GeneratedPluginRegistrant.m,确保先导入rive_common.Swift模块:#import <rive_common/rive_common-Swift.h> #import <rive/RivePlugin.h>注意:该文件为自动生成,后续更新插件时可能会被覆盖,优先通过前面的步骤解决问题。
更新开发工具版本
确保Xcode和Flutter SDK为最新稳定版,版本不兼容也可能导致此类模块解析错误:flutter upgrade
内容的提问来源于stack exchange,提问作者user14866294
相关产品推荐
相关产品推荐

