Swift Package Manager依赖循环问题:FirebaseStorage与FirebaseCore互依赖
解决FirebaseStorage与FirebaseCore的依赖循环问题
问题说明
编译时出现如下错误:
Cycle in dependencies between targets 'FirebaseStorage' and 'FirebaseCore'; building could produce unreliable results.
已尝试将Swift Package Manager(SPM)安装的所有包更新至最新版本,但问题未解决。
解决方案
清理项目缓存与构建产物
- 关闭Xcode
- 删除项目对应的
DerivedData文件夹(路径可通过Xcode偏好设置→Locations查看) - 重新打开项目,按下
Cmd+Shift+K清理构建,再执行重新构建
规范SPM依赖添加方式
不要分别手动添加FirebaseCore、FirebaseStorage等子包,改为添加Firebase总SDK包:依赖地址为https://github.com/firebase/firebase-ios-sdk.git,添加时勾选需要的子模块(如Storage、Core)即可,避免重复添加导致依赖链混乱。锁定Firebase SDK稳定版本
如果最新版本存在问题,尝试指定一个已知稳定的版本(例如10.17.0),在SPM中修改依赖版本规则为精确版本,避免自动拉取存在问题的开发分支版本。重置SPM依赖
- 在Xcode中移除所有Firebase相关依赖
- 重启Xcode后重新添加Firebase总包
- 同步依赖完成后再次尝试构建
内容的提问来源于stack exchange,提问作者CLOUD 1015
相关产品推荐
相关产品推荐

