React Native iOS编译报错:arm64架构存在34个重复符号
解决XCode 14.1中react-native-beacons-manager导致的arm64重复符号错误
移除手动添加的重复库
你手动在Link Binary With Libraries中添加了libRniBeacon.a,但React Native的自动link机制可能已经完成了该库的链接工作,导致重复引用。先把这个库从列表中移除,再重新编译项目。清理项目缓存
执行以下命令清除React Native和XCode的缓存文件,避免缓存导致的异常:# 清理React Native缓存 npx react-native clean # 删除XCode派生数据 rm -rf ~/Library/Developer/Xcode/DerivedData清理完成后重新执行
pod install,再打开XCode尝试编译。调整链接器参数
在XCode项目的Build Settings中搜索Other Linker Flags,做如下调整:- 如果之前没添加过相关参数,尝试加入
-ObjC和-all_load - 如果已经加了
-all_load导致冲突,替换为-force_load $(PROJECT_DIR)/path/to/libRniBeacon.a(注意替换成libRniBeacon.a在你项目中的实际路径)
- 如果之前没添加过相关参数,尝试加入
检查库版本兼容性
确认当前使用的react-native-beacons-manager版本是否适配XCode 14.1和你的React Native版本。如果是较老版本,尝试升级到最新稳定版,重新安装依赖后再编译。排查第三方库冲突
部分其他第三方库可能和react-native-beacons-manager存在符号冲突。可以临时移除近期新增的其他库,逐步排查出冲突来源,再针对性处理。
内容的提问来源于stack exchange,提问作者iSaBo
相关产品推荐
相关产品推荐

