Mac“应用程序已损坏”实为com.apple.quarantine隔离属性所致,用sudo xattr -r -d com.apple.quarantine加路径可清除,但须先授终端完整磁盘权限、精准输入含.app的完整路径、确保含-r参数,再通过Control+右键→“打开”完成首次信任确认。

Mac提示“应用程序已损坏打不开”本质是系统给下载文件加了隔离属性(com.apple.quarantine),不是文件真坏了,终端用xattr命令清除该标记就能立刻恢复运行——但必须先确认终端有权限、路径写对、操作顺序正确,否则命令静默失败且无提示。
确认终端已获完整磁盘访问权限
macOS Sequoia 15(2024年发布)及后续版本强制要求此授权,缺它则xattr命令不报错也不生效。打开「系统设置」→「隐私与安全性」→「完整磁盘访问权限」→点右下角锁图标解锁→点「+」→按 Command+Shift+G 输入 `/Applications/Utilities/Terminal.app` →选中「终端」→点「添加」。
【关键提醒】添加后必须关闭并重新打开终端,旧窗口不继承新权限。
精准定位目标应用的完整路径
不能凭印象输名字。打开访达,进入「应用程序」文件夹,找到出问题的App(如“WPS Office.app”),右键→「显示简介」→复制「位置」栏里的完整路径,例如:/Applications/WPS Office.app。
注意:路径末尾不能带斜杠,也不能漏掉“.app”后缀;含中文或空格必须保留原样,后续命令会自动处理。
执行xattr清除命令(推荐拖拽法)
方法一:拖拽法(零输入错误,强烈推荐)
打开终端 → 输入 sudo xattr -r -d com.apple.quarantine(末尾留一个空格!)→ 切换到访达「应用程序」文件夹 → 直接把App图标拖进终端窗口 → 回车 → 输入管理员密码(屏幕无任何显示,输完直接回车)。
方法二:粘贴路径法
终端中输入 sudo xattr -r -d com.apple.quarantine " → 粘贴刚才复制的完整路径 → 补上英文双引号 → 回车 → 输密码。
【关键提醒】命令中必须包含 -r(递归)参数,否则只清.app包顶层,内部可执行文件仍带隔离属性,启动时继续报错。
验证隔离属性是否真正清除
在终端中运行:xattr -l /Applications/你的应用.app(把“你的应用.app”换成真实名称)→ 回车。
如果输出里不再出现 com.apple.quarantine 这一行,说明清除成功。
如果仍有该行,重复上一步命令,重点检查是否漏了 -r 参数或路径拼写错误。
绕过首次安全拦截启动应用
第一步:在访达中找到该App图标
第二步:按住 Control 键不放,同时点击图标 → 弹出菜单选「打开」
第三步:弹出黄色警告框时,点击框内下方的「打开」按钮(不是右上角×)→ 应用立即启动。
这一步不可跳过。即使xattr清除成功,系统仍需一次手动确认来登记信任状态,之后才能双击直接打开。

















