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.dylib:ls | 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




