You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode报5 duplicate symbols for architecture x86_64错误如何解决

问题根因
  • 触发5 duplicate symbols for architecture x86_64报错的核心原因是项目中同时引入了已停止维护的rn-fetch-blob与其社区继任分叉库react-native-blob-util,两个库对外暴露了同名全局符号(_bridgeRef/_fsQueue/_fileStreams),M1芯片运行iOS模拟器时走x86_64转译链路,链接阶段识别到重复符号直接终止编译。
  • 直接卸载rn-fetch-blob后触发的新报错,是因为项目内存在其他第三方依赖隐式引用了rn-fetch-blob,粗暴移除后会出现依赖缺失、头文件找不到的编译错误。
关于react-native-blob-util的替代说明

react-native-blob-util是rn-fetch-blob官方停止维护后,由原社区核心贡献者发起的正式维护分叉版本,API与原rn-fetch-blob100%兼容,可无缝替换,同时修复了原库存在的M1适配、iOS15+/Android12+系统兼容等大量已知问题,是目前官方推荐的替代方案。

修复步骤(推荐方案:无缝替换到维护版)
  1. 移除旧版冲突依赖
    # npm用户执行
    npm uninstall rn-fetch-blob
    # yarn用户执行
    yarn remove rn-fetch-blob
    
  2. 排查隐式依赖,强制全局替换
    执行依赖排查命令找到所有引用旧版rn-fetch-blob的包:
    # npm用户执行
    npm ls rn-fetch-blob
    # yarn用户执行
    yarn why rn-fetch-blob
    
    如果存在第三方依赖强制绑定了旧版rn-fetch-blob,直接在项目package.json中添加resolutions字段,全局强制替换依赖:
    "resolutions": {
      "rn-fetch-blob": "npm:react-native-blob-util@^0.17.0"
    }
    
  3. 全量清理缓存重装依赖
    # 清理JS侧缓存
    watchman watch-del-all
    rm -rf node_modules yarn.lock package-lock.json
    # npm用户执行npm install,yarn用户执行yarn install
    npm install
    
    # 清理iOS侧构建缓存
    cd ios
    rm -rf Pods Podfile.lock build
    pod deintegrate
    arch -x86_64 pod install --repo-update
    cd ..
    
  4. 替换代码引用
    全局搜索项目内所有引用语句,将import RNFetchBlob from 'rn-fetch-blob'统一替换为import RNFetchBlob from 'react-native-blob-util'即可,所有方法名、传参、返回值完全一致,不需要修改任何业务逻辑代码。
  5. Xcode适配M1配置
    打开Xcode项目,在Build Settings中找到Excluded Architectures选项,针对iOS Simulator SDK添加arm64排除项,清理Xcode构建缓存(快捷键Cmd+Shift+K)后重新编译即可。
临时修复方案(不推荐,仅应急使用)

如果短时间内无法完成依赖替换,可以通过修改旧库源码的方式临时解决符号冲突:

  • 打开node_modules/rn-fetch-blob/ios目录下的RNFetchBlob.m、RNFetchBlobFS.m、RNFetchBlobNetwork.m三个文件
  • 找到文件顶部定义的_bridgeRef、_fsQueue、_fileStreams全局变量,在变量类型前添加static关键字,将全局可见变量修改为文件内私有变量,避免符号对外导出冲突
  • 重新执行pod install,清理Xcode缓存后即可编译通过
    注意:该方案为临时补丁,每次执行npm/yarn重装依赖后修改会被覆盖,且原rn-fetch-blob已停止维护超过2年,后续系统版本升级会出现更多兼容问题,建议尽快切换到官方维护版本。

内容的提问来源于stack exchange,提问作者AJDee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 14:27:18