Xcode 16.1编译报错:React-jsi与SDWebImageWebPCoder循环依赖
React-jsi 与 SDWebImageWebPCoder 循环依赖问题解决方案
问题现象
使用Xcode 16.1编译React Native 0.71.7项目时,出现循环依赖错误:React-jsi → SDWebImageWebPCoder → React-jsi,导致构建结果不可靠。
解决方案
1. 升级SDWebImage相关依赖版本
SDWebImageWebPCoder是SDWebImage的子依赖,版本不兼容大概率是问题根源:
- 打开项目的
Podfile,指定兼容的SDWebImage版本,比如:pod 'SDWebImage', '~> 5.19.0' pod 'SDWebImageWebPCoder', '~> 0.16.0' - 执行命令清理并重新安装Pods:
pod deintegrate pod install
2. 排查第三方库的间接依赖
React-jsi本身不会依赖SDWebImageWebPCoder,大概率是某个第三方RN库引入了循环依赖:
- 检查项目中使用的第三方库(比如图片相关的RN组件),看是否有同时关联这两个库且配置不当的情况。
- 如果找到问题库,尝试升级该库版本,或者在
Podfile中手动排除不必要的依赖关联,例如:pod 'SDWebImageWebPCoder', :exclude => ['React-jsi']
3. 调整Xcode目标的依赖配置
直接修改Xcode项目的构建关联:
- 打开Xcode项目,进入
Targets列表,分别选中React-jsi和SDWebImageWebPCoder。 - 进入
Build Phases->Link Binary With Libraries,检查是否存在互相添加对方库的情况,移除其中一方的无效依赖(根据实际代码依赖需求判断,保留真正需要的那一侧)。
4. 彻底清理构建缓存
缓存问题也可能导致依赖异常,执行以下操作:
- 清理Xcode衍生数据:
rm -rf ~/Library/Developer/Xcode/DerivedData xcodebuild clean -project 你的项目名.xcodeproj -configuration Debug - 清理前端依赖和Pods:
rm -rf node_modules yarn install # 用npm的话换成 npm install pod deintegrate pod install
5. 临时降级Xcode版本(备选)
React Native 0.71.7发布时Xcode16尚未推出,存在兼容性适配缺口:
- 暂时降级到Xcode 15.x版本,等待React Native官方或SDWebImage团队推出适配Xcode16的补丁后再升级。
内容的提问来源于stack exchange,提问作者Bhaveen Parghi
相关产品推荐
相关产品推荐

