如何删除CoreSimulator/Runtimes下报权限错误的模拟器运行时文件
正确删除iOS模拟器运行时文件(解决Operation not permitted报错)
网上流传的直接删除/Library/Developer/CoreSimulator/Profiles/Runtimes/路径下文件的方法,遗漏了两个关键前提:一是新版Xcode对模拟器运行时的管理已经做了系统级权限管控,二是macOS系统完整性保护(SIP)默认会拦截root用户对该路径的修改操作,因此直接执行删除命令必然返回「Operation not permitted」报错。
可按优先级选择以下方法操作:
方法1:通过Xcode图形界面删除(优先推荐,无权限风险)
这是官方提供的标准删除方式,全程不需要修改系统权限,不会触发报错:
- 打开Xcode,点击顶部菜单栏的
Xcode→Settings(旧版本Xcode显示为Preferences) - 切换到
Platforms标签页 - 在左侧已安装平台列表中,选中你需要移除的模拟器运行时版本
- 点击列表下方的减号
-按钮,确认删除后等待系统自动清理文件即可
方法2:通过命令行工具删除
如果不需要打开Xcode图形界面,可直接用Xcode自带的simctl工具操作:
- 打开终端,执行命令列出所有已安装的模拟器运行时,记录待删除版本的标识:
xcrun simctl runtime list - 执行删除命令,将命令末尾的占位符替换为你刚才记录的运行时标识(例如
iOS-17-2):xcrun simctl runtime delete <待删除的运行时标识>
方法3:手动清理历史残留文件
如果是旧版本Xcode卸载后残留的、无法被Xcode识别的废弃运行时文件,可按以下步骤操作:
- 重启Mac进入恢复模式:Intel芯片设备开机时按住
Command+R,Apple芯片设备长按电源键直到出现启动选项界面,选择「选项」进入恢复模式 - 在恢复模式下打开顶部菜单栏的「实用工具」→「终端」,执行以下命令临时关闭系统完整性保护:
csrutil disable - 正常重启回到系统后,打开终端执行删除命令:
sudo rm -rf /Library/Developer/CoreSimulator/Profiles/Runtimes/* - 操作完成后务必重新进入恢复模式,执行
csrutil enable重新开启SIP,避免系统安全防护长期关闭带来风险
注意:非必要不推荐使用第三种方法,前两种官方方法可以覆盖99%的删除场景,不会破坏系统权限配置。
内容的提问来源于stack exchange,提问作者Karatekid430
相关产品推荐
相关产品推荐

