禁用 macOS 崩溃弹窗需五步:一、勾选应用“在后台运行”;二、关闭“隐私与安全性→诊断与用量”;三、终端清空并锁定 DiagnosticReports 目录;四、执行 killall -9 ReportCrash;五、用 xattr 移除应用 quarantine 属性。

如果您在 macOS 上运行程序时频繁遭遇崩溃并弹出“已意外退出”或“报告…忽略…重新启动”等系统级报错弹窗,则可能是应用异常终止后系统自动触发的错误报告机制。以下是取消该类报错弹窗提示的具体操作步骤:
一、禁用特定应用的崩溃报告弹窗
此方法通过修改应用的属性,使其在崩溃时不向用户显示报告对话框,仅静默退出,适用于已知稳定但偶发崩溃的第三方应用。
1、在 Finder 中定位到该应用,右键点击其图标,选择“显示简介”。
2、向下滚动至“通用”区域,勾选“在后台运行”选项(若可见)。
3、关闭简介窗口,重启该应用测试是否仍弹出崩溃提示。
二、关闭系统级崩溃报告服务
macOS 默认启用“诊断与用量”功能,一旦检测到应用崩溃即生成报告并弹出交互式窗口。关闭该服务可全局抑制弹窗触发逻辑。
1、点击屏幕左上角苹果菜单(),选择“系统设置”。
2、在左侧边栏滚动到底部,点击“隐私与安全性”。
3、在右侧找到并点击“诊断与用量”。
4、将“共享Mac诊断与用量数据”开关设为关闭状态。
5、系统会提示需重启部分服务,点击“关闭”即可生效,无需重启整机。
三、清除已有崩溃报告缓存并阻止新报告生成
系统会在 ~/Library/Logs/DiagnosticReports/ 目录下保存历史崩溃日志,残留文件可能触发重复提示;同时可通过终端禁用报告写入权限。
1、打开“启动台”→“其他”→“终端”。
2、输入命令:rm -rf ~/Library/Logs/DiagnosticReports/*,回车执行清空操作。
3、继续输入:chmod 000 ~/Library/Logs/DiagnosticReports/,回车锁定目录写入权限。
4、关闭终端,后续崩溃将无法生成新报告文件,亦不触发弹窗。
四、通过终端禁用 CrashReporter 进程
CrashReporter 是负责渲染崩溃弹窗的守护进程,临时停用它可立即终止所有相关 UI 行为,适合紧急屏蔽高频弹窗场景。
1、在“终端”中执行:killall -9 ReportCrash。
2、验证是否已终止:输入 ps aux | grep ReportCrash,若无输出则表示成功。
3、如需恢复默认行为,重启 Mac 或手动运行 launchctl load /System/Library/LaunchAgents/com.apple.ReportCrash.plist。
五、修改应用沙盒权限规避报告触发
部分崩溃弹窗由 macOS 的沙盒机制强制注入,尤其针对从非 App Store 安装的应用。通过移除其崩溃报告权限标识可绕过系统拦截逻辑。
1、在终端中执行:xattr -d com.apple.quarantine /Applications/应用名.app(替换“应用名”为实际名称)。
2、若提示权限不足,先输入 sudo xattr -d com.apple.quarantine /Applications/应用名.app,再输入管理员密码。
3、完成后重启该应用,观察崩溃时是否跳过弹窗直接退出。










