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

React Native运行yarn ios报CoreSimulator.SimError 405如何解决

问题根因

该错误为Xcode 13在M1芯片设备上的已知兼容问题:未明确指定运行目标时,xcodebuild会匹配到状态为关机的模拟器实例,且不会自动触发模拟器唤醒,最终导致安装应用时抛出Shutdown状态下无法查找实例的405错误。

永久解决方案

以下方案按操作成本从低到高排序,任选其一即可:

  • 方案1:指定固定模拟器启动
    每次运行命令时明确指定要使用的模拟器,避免自动匹配触发异常,命令格式如下:

    # 按模拟器名称指定,名称可从你报错日志里的列表直接选
    yarn ios --simulator "iPhone 13"
    # 也可以按UDID指定
    yarn ios --udid 81EA832E-6ED3-4560-8994-298CB8A00D2A
    

    你也可以直接修改package.json里的ios脚本,把指定模拟器的参数写死,后续直接执行yarn ios即可生效:

    "scripts": {
      "ios": "react-native run-ios --simulator \"iPhone 13\""
    }
    
  • 方案2:修复M1架构编译配置
    架构不兼容也会间接导致模拟器启动异常,按以下步骤配置:

    1. 打开Xcode > 偏好设置 > 位置,确认Command Line Tools选中的是当前Xcode 13.0版本
    2. 打开iOS项目的xcworkspace文件,选中项目根节点 > 构建设置 > 排除架构,在Any iOS Simulator SDK选项下添加arm64
    3. 在Podfile中添加如下配置,执行pod install后重新构建:
    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
    
  • 方案3:自动预启动模拟器
    在package.json中添加前置钩子,每次执行yarn ios前自动唤醒指定模拟器,无需手动操作:

    "scripts": {
      "preios": "xcrun simctl list devices | grep -q 'iPhone 13 (Booted)' || xcrun simctl boot 'iPhone 13'",
      "ios": "react-native run-ios --simulator \"iPhone 13\""
    }
    
  • 方案4:重置模拟器缓存
    如果是模拟器状态异常导致的偶现问题,执行以下命令重置所有模拟器即可解决:

    xcrun simctl shutdown all
    xcrun simctl erase all
    

    执行完成后重启Xcode再运行yarn ios即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:48:02