You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更新XCode后React Native运行iOS模拟器报xcrun non-zero code:2错如何解决

问题原因

该报错是Xcode升级后,React Native项目的本地构建缓存、依赖版本与新Xcode的编译工具链、iOS SDK版本不匹配导致,Expo本身能运行但启动模拟器触发原生构建时就会触发兼容性崩溃。

排查解决步骤

方案1:适配新版Xcode

  • 先停止所有运行中的Metro服务与模拟器,清理全链路缓存:
    1. 清理Xcode全局构建缓存:rm -rf ~/Library/Developer/Xcode/DerivedData
    2. 清理iOS项目构建产物与依赖缓存:
      cd ios
      rm -rf Pods Podfile.lock build
      pod install --repo-update
      
    3. 重启Metro并清除RN缓存:npx react-native start --reset-cache
  • 若清理缓存后仍报错,需要给Podfile添加编译适配补丁,打开ios/Podfile,在post_install代码块中加入以下配置:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          # 修复架构适配问题
          config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
          # 修复新SDK编译参数不兼容问题
          config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
          # 禁用断言报错(可选,仅临时救急使用)
          config.build_settings['OTHER_SWIFT_FLAGS'] = '-disable-assertions'
        end
      end
    end
    
    保存后重新执行pod install再构建项目即可。
  • 若补丁无效,检查你当前的Expo与React Native版本:如果Xcode升级到了14及以上版本,需要将Expo升级到47+版本、React Native升级到0.70+版本才能完全适配。

方案2:不升级Xcode也使用iPhone 13模拟器

无需升级Xcode即可手动添加iPhone 13对应的模拟器运行时:

  • 打开旧版Xcode → 顶部菜单栏Xcode → Settings → Platforms
  • 点击左下角+号,选择iOS,找到iOS 15及以上版本的运行时下载安装,安装完成后即可在模拟器列表中选择iPhone 13机型,完全满足团队适配要求。

方案3:回退Xcode到旧版本

  • 先卸载当前新版Xcode:打开应用程序文件夹,将Xcode拖入废纸篓,执行rm -rf ~/Library/Developer清理所有Xcode残留配置
  • 下载对应旧版本Xcode安装包,安装完成后执行以下命令切换命令行工具路径:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    
    输入密码确认后即可恢复旧版本开发环境。

内容的提问来源于stack exchange,提问作者Callum Reid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:06:04