You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Xcode 26模拟器列表不显示旧版iOS运行时——提示‘liblaunch_sim.dylib could not be opened’

Xcode 26模拟器列表不显示旧版iOS运行时——提示‘liblaunch_sim.dylib could not be opened’

我之前在M1 Mac上升级到Xcode测试版时碰到过几乎一模一样的问题,这个liblaunch_sim.dylib could not be opened报错本质上是新版本Xcode和旧iOS运行时的兼容性冲突,尤其是M系列芯片的arm64架构对旧运行时的库支持不足导致的。下面是我亲测有效的几个解决方法,你可以按顺序试试:

1. 先确认旧运行时的库文件是否存在且架构兼容

首先得排查运行时本身的文件有没有问题:

  • 打开终端,进入旧运行时的默认安装路径:
    cd /Library/Developer/CoreSimulator/Profiles/Runtimes/
  • 找到你下载的旧iOS版本文件夹(比如iOS 17.0.simruntime),进入它的库目录:
    cd iOS\ 17.0.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
  • 检查是否存在liblaunch_sim.dylibls | grep liblaunch_sim
  • 如果存在,再检查它的架构是否支持arm64(M1/M系列需要这个):
    lipo -info liblaunch_sim.dylib

    如果结果里没有arm64,说明这个旧运行时本身不兼容M系列芯片,你可能需要找对应iOS版本的arm64兼容运行时,或者暂时用Rosetta模式启动Xcode试试(右键Xcode图标→显示简介→勾选“使用Rosetta打开”)

2. 重置CoreSimulator服务与缓存

这是我当时解决问题的关键步骤,能彻底清理模拟器的异常缓存:

  • 先完全关闭Xcode和所有模拟器窗口
  • 在终端依次运行以下命令:
    xcrun simctl shutdown all
    xcrun simctl erase all
    launchctl stop com.apple.CoreSimulator.CoreSimulatorService
    launchctl start com.apple.CoreSimulator.CoreSimulatorService
    
  • 重启Mac后再打开Xcode,刷新运行时列表看看能不能找到旧版本

3. 修复运行时文件权限或手动注册

有时候下载的运行时文件权限不正确,或者Xcode没正确识别它:

  • 给旧运行时文件夹添加正确权限,终端运行:
    sudo chmod -R 755 /Library/Developer/CoreSimulator/Profiles/Runtimes/[你的旧运行时文件夹名]
    (把[你的旧运行时文件夹名]替换成实际名字,比如iOS 17.0.simruntime
  • 或者尝试手动注册运行时到CoreSimulator:
    xcrun simctl runtime add /Library/Developer/CoreSimulator/Profiles/Runtimes/[你的旧运行时文件名].simruntime

4. 重新安装Xcode命令行工具

Xcode的命令行工具异常也可能导致模拟器识别问题:

  • 终端运行xcode-select --install,按照提示完成安装
  • 或者打开Xcode→Preferences→Locations,在“Command Line Tools”下拉菜单里重新选择Xcode 26.0的版本,确认后重启Xcode

最后兜底方案

如果以上方法都没用,大概率是这个旧iOS版本和Xcode 26存在硬兼容性问题(毕竟Xcode 26是比较新的版本):

  • 你可以试试找苹果官方发布的、明确兼容Xcode 26的旧iOS运行时版本重新下载
  • 或者暂时用低版本Xcode(比如Xcode 25)来运行旧版本模拟器,等苹果后续更新修复这个兼容性bug

火山引擎 最新活动