React Native中vision-camera-code-scanner的x86_64架构符号缺失构建错误
解决M1 Mac React Native项目中vision-camera-code-scanner的MLKit架构构建错误
方案1:用Rosetta启动Xcode
- 找到Launchpad里的Xcode,右键选「显示简介」
- 勾选「使用Rosetta打开」
- 重启Xcode后重新构建项目
方案2:修改Podfile强制适配架构
在项目的Podfile里添加以下配置,覆盖MLKit相关依赖的架构设置:
post_install do |installer| installer.pods_project.targets.each do |target| # 给MLKit系列依赖设置模拟器架构 if target.name.start_with?('MLKit') target.build_configurations.each do |config| config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'x86_64' config.build_settings['VALID_ARCHS[sdk=iphonesimulator*]'] = 'x86_64' end end # 保留React Native的多架构兼容(之前有设置的话) if target.name == 'React' target.build_configurations.each do |config| config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'arm64 x86_64' end end end end
添加完成后执行pod install,再重新构建项目。
方案3:直接用真机测试
如果不需要在模拟器上调试,直接连接iOS真机进行构建和测试即可,真机的ARM架构适配正常,不会出现MLKit符号缺失的问题。
方案4:降级vision-camera-code-scanner到兼容版本
部分旧版本的vision-camera-code-scanner依赖的MLKit版本架构兼容性更好,试试降级到^0.2.0(可根据社区反馈调整具体版本),修改package.json后执行npm install,再重新运行pod install。
内容的提问来源于stack exchange,提问作者FutureCake
相关产品推荐
相关产品推荐

