You need to enable JavaScript to run this app. Xcode12.4软链Developer至外置盘,新建模拟器报unknown runtime错误
优惠活动
大模型
产品
解决方案
定价
更多

Xcode12.4软链Developer至外置盘,新建模拟器报unknown runtime错误

故障根因

所有异常的触发源头是为/Library/Developer配置的指向外置硬盘的软链。CoreSimulatorService是系统级LaunchDaemon,启动优先级远高于外置硬盘的挂载流程,且对路径合法性、文件权限有严格的白名单校验规则,跨盘软链的配置会直接导致服务无法解析真实路径、读取运行时资源,最终出现服务连接中断、运行时列表为空、新建模拟器报unknown runtime的问题。

修复操作步骤(按优先级执行)
  • 移除系统Developer目录的错误软链
    • 执行命令:
      sudo rm /Library/Developer
      
    • 该操作仅移除软链映射,不会删除外置硬盘上存储的原有文件
    • 将外置盘上对应路径下的所有模拟器运行时文件(即原本通过软链访问的CoreSimulator/Profiles/Runtimes目录内容),复制回本地内置盘的/Library/Developer/CoreSimulator/Profiles/Runtimes路径下
  • 重置CoreSimulator后台服务与异常缓存
    • 依次执行命令:
      sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
      rm -rf ~/Library/Caches/com.apple.CoreSimulator
      
    • 执行完成后等待30秒,让系统自动重新拉起CoreSimulator服务进程
  • 校正Xcode开发环境绑定
    • 执行命令检查当前选中的Xcode路径:
      xcode-select -p
      
    • 确认输出为/Applications/Xcode.app/Contents/Developer,如果路径不匹配,执行命令校正:
      sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
      
  • 验证运行时识别状态
    • 执行命令检查系统对模拟器运行时的识别结果:
      xcrun simctl list runtimes
      
    • 正常状态下会列出之前下载完成的对应版本模拟器运行时,Xcode新建模拟器窗口的操作系统版本下拉框也会同步加载可选项
  • 正确配置外置硬盘的存储路径,规避服务校验限制
    • 禁止对/Library/Developer下的CoreSimulator相关目录(包含Profiles/Runtimes、DeviceNodes等)创建指向外置盘的软链,这类路径必须保留在系统默认的内置盘位置,否则故障会复现
    • 仅可将DerivedData、Archives这类项目级存储路径通过Xcode设置的Locations标签页,手动指向外置盘的目标目录,不要通过系统级软链修改
    • 如需迁移模拟器占用空间,需通过xcrun simctl move命令将现有设备节点迁移到外置盘,禁止直接软链整个CoreSimulator目录
  • 修复Developer目录的系统权限
    • 执行命令重置目录权限为系统默认值:
      sudo chown -R root:admin /Library/Developer
      sudo chmod -R 755 /Library/Developer
      
最终验证

完成所有操作后执行命令:

sudo xcrun simctl list

若不再出现CoreSimulatorService连接中断的提示,且能正常列出已安装的运行时、设备列表,即代表故障修复完成,可正常创建、使用模拟器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 09:06:03