集成@walletconnect/react-native-dapp时遇x86_64重复符号及Async Storage构建错误
解决React Native集成@walletconnect/react-native-dapp时的重复符号与Async Storage错误
重复符号问题(65 duplicate symbols for architecture x86_64)
该问题核心是依赖冲突:@walletconnect/react-native-dapp自身已包含Async Storage相关依赖,若你的项目同时单独安装了@react-native-async-storage/async-storage,就会导致编译时出现重复符号。
解决步骤:
- 卸载项目中单独安装的Async Storage:
npm uninstall @react-native-async-storage/async-storage # 使用yarn则执行: yarn remove @react-native-async-storage/async-storage - 清理项目缓存与构建文件,彻底消除残留依赖:
rm -rf node_modules && npm install cd ios && pod deintegrate && pod install && cd .. rm -rf ~/Library/Developer/Xcode/DerivedData - 重启Xcode并重新构建项目。
Async Storage相关错误
若卸载单独依赖后仍有Async Storage报错,按以下步骤排查:
- 检查
ios/Podfile,确保没有手动指定Async Storage版本,让@walletconnect的依赖管理自行处理。 - 确认依赖版本兼容性:React Native 0.70.1要求Async Storage版本≥1.17.0,若walletconnect自带版本不兼容,可手动安装适配版本:
npm install @react-native-async-storage/async-storage@1.17.11 cd ios && pod install && cd ..
额外排查项
- 打开Xcode项目,进入
Build Phases -> Link Binary With Libraries,移除任何重复的Async Storage相关库文件。 - 在Xcode的
Build Settings中,将Dead Code Stripping设置为YES,帮助编译器移除冗余符号。
内容的提问来源于stack exchange,提问作者Azaz Ahmed
相关产品推荐
相关产品推荐

