React Native使用react-native-qrcode-svg生成二维码报错求助
解决react-native-qrcode-svg生成二维码的iOS异常问题
针对你遇到的Exception thrown while executing UI block: -[NSDictionaryM firstObject]: unrecognized selector sent to instance错误,可按以下步骤排查解决:
1. 对齐依赖版本兼容性
这个错误大多是react-native-qrcode-svg和依赖的react-native-svg、React Native版本不匹配导致的:
- 先查看项目中
react-native-svg的版本,去react-native-qrcode-svg的官方文档确认对应兼容的版本范围 - 卸载现有冲突包,重新安装兼容版本,比如适配RN 0.68+的组合:
npm uninstall react-native-qrcode-svg react-native-svg npm install react-native-qrcode-svg@6.2.0 react-native-svg@12.3.0
2. 重装iOS原生依赖
进入iOS目录,清理并重新安装pod依赖:
cd ios pod deintegrate pod install
之后关闭Xcode,删除ios/build文件夹,再打开Xcode按Cmd+Shift+K清理项目,重新编译运行。
3. 给QRCode组件添加固定尺寸
部分版本中,缺少size属性可能触发原生异常,修改组件代码:
<QRCode value="https://www.google.com" size={200} />
4. 检查react-native-svg的原生集成
打开Xcode,检查项目的Linked Frameworks and Libraries里是否有RNSVG.xcframework(或旧版的RNSVG.framework),如果没有,手动添加:右键项目 -> Add Files to "你的项目名" -> 找到node_modules/react-native-svg/ios/RNSVG.xcframework。
内容的提问来源于stack exchange,提问作者colla
相关产品推荐
相关产品推荐

