Flutter集成ObjectBox报错:CocoaPods找不到兼容的ObjectBox pod版本
问题原因
这个报错是因为项目同时引入了普通版ObjectBox依赖和带同步功能的ObjectBox Sync依赖,二者依赖的底层iOS原生ObjectBox SDK版本互斥:
- 普通版
objectbox_flutter_libs要求底层依赖无sync标识的正式版本ObjectBox 1.6.0 - 同步版
objectbox_sync_flutter_libs要求底层依赖带sync标识的专属版本ObjectBox 1.6.0-sync
两个版本无法兼容共存,单纯更新Pod源没法解决这个冲突。
解决方案
第一步:选择保留对应依赖
根据你的业务需求二选一即可,两个依赖天生互斥不能同时引入:
- 如果不需要跨设备数据同步功能:直接删除
pubspec.yaml文件中的objectbox_sync_flutter_libs依赖项即可,本地数据读写只用普通版依赖就可满足需求 - 如果确实需要使用ObjectBox的Sync同步功能:删除
pubspec.yaml文件中的普通版objectbox_flutter_libs依赖项,仅保留同步版依赖即可
第二步:重新构建依赖
修改完pubspec.yaml后按顺序执行以下命令:
- 项目根目录执行
flutter clean清理本地构建缓存 - 执行
flutter pub get重新拉取Dart端依赖 - 进入ios目录执行
rm -rf Pods Podfile.lock删除旧的iOS依赖安装记录 - 执行
pod install --repo-update重新安装iOS端依赖,冲突即可解决
内容的提问来源于stack exchange,提问作者Lee Maan
相关产品推荐
相关产品推荐

