npx react-native run-ios运行失败,RN模拟器Ld链接错误求助
解决方案:M2 Mac 下 React Native 模拟器运行 Ld 链接错误
针对M2 Macbook Pro(OS Monterey + Xcode13.4.1)上React Native应用在模拟器启动时出现的Ld链接错误,以下是针对性解决方法:
1. 统一架构配置
- 打开Xcode项目,进入主Target的Build Settings:
- 找到
Architectures,设置为Standard Architectures (Apple Silicon, x86_64),或直接指定为arm64 x86_64 - 找到
Excluded Architectures,在Debug-iphonesimulator配置项中添加arm64
- 找到
- 在Podfile末尾添加架构兼容配置,确保所有依赖项目和主项目架构一致:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64" end end end - 执行
pod deintegrate && rm -rf Podfile.lock && pod install重新安装依赖
2. 启用Rosetta兼容模式
- 针对Xcode:找到
Applications/Xcode.app,右键选择「显示简介」,勾选「使用Rosetta打开」,重启Xcode后重新编译 - 针对终端:找到
Applications/Utilities/Terminal.app,同样勾选「使用Rosetta打开」,重启终端后执行npx react-native run-ios
3. 升级Xcode版本
Xcode13.4.1对M2芯片的原生支持存在兼容性缺陷,建议升级到Xcode14.x及以上版本(该版本兼容OS Monterey),新版本优化了Apple Silicon模拟器的架构适配
4. 重置模拟器缓存
打开模拟器,点击顶部菜单Hardware > Erase All Content and Settings,重置模拟器后再尝试运行应用
5. 检查React Native版本兼容性
确认当前RN版本是否适配M2芯片,RN 0.69及以上版本对Apple Silicon的支持更完善,若使用旧版本,建议升级到兼容版本
内容的提问来源于stack exchange,提问作者Leonard
相关产品推荐
相关产品推荐

