mac应用闪退主因是m芯片兼容性、签名失效或gatekeeper拦截,需按强制退出→启用rosetta→终端重签名→右键打开四步排查。

Mac上某个App刚点开就退出、运行中突然消失、反复弹出“意外退出”提示,不是程序真坏了,而是系统在拦截它——M系列芯片不兼容x86程序、签名被拒、缓存错乱或Gatekeeper正在拦路,必须按触发优先级逐层排除。
强制退出并干净重启应用
应用已挂起时,进程内存和上下文早已污染,直接双击重开只会复现错误状态。
点击屏幕左上角苹果图标 → 选择“强制退出” → 在列表中选中目标应用 → 点击“强制退出”按钮。
等待5秒,确保后台残留进程完全释放,再双击图标重新启动。这一步跳过会浪费后续所有操作时间。
启用Rosetta模式运行(M1/M2/M3芯片必做)
Apple Silicon芯片无法原生执行Intel架构的x86_64指令,未启用Rosetta会导致指令解码失败,直接触发内核级闪退,连错误日志都不生成。
方法一:右键应用图标 → “显示简介” → 勾选【使用Rosetta打开】 → 关闭窗口 → 重新启动应用。
方法二:若勾选项灰色不可点,说明该应用已被系统标记为“仅限Apple Silicon”,需先用终端清除其架构锁:在终端输入sudo xattr -d com.apple.architecture x86_64 /Applications/xxx.app(将xxx.app替换为实际路径),再回简介窗口勾选。
终端重签名绕过Gatekeeper拦截
第三方应用若签名过期、被篡改或未通过Apple公证,macOS会在加载可执行段前直接终止进程——你看到的“已损坏”提示只是表象,本质是代码签名验证失败。
第一步:打开“应用程序” → “实用工具” → “终端”。
第二步:输入命令sudo codesign --force --deep --sign -,注意末尾留一个空格。
第三步:打开访达,进入“应用程序”文件夹,将目标应用(如Sketch.app)直接拖入终端窗口,路径自动补全。
第四步:按回车 → 输入管理员密码(输入过程无任何字符显示,属正常现象)→ 等待光标返回即完成。
【必须确认终端输出最后一行是“replacing existing signature”而非报错】,否则签名未生效,重启后仍会闪退。
右键“打开”触发一次性白名单登记
即使重签名完成,macOS仍会对首次运行的应用弹出安全警告;双击会直接拒绝,但右键→“打开”能强制唤出“仍要打开”按钮,系统将为此应用实例写入临时信任记录。
在访达中定位应用图标 → 按住Control键单击 → 从菜单中选择“打开” → 在弹窗中点击“仍要打开”。











