mac软件提示“已损坏”实为gatekeeper拦截未公证应用,需三步解决:一、终端执行sudo spctl --master-disable启用“任何来源”;二、用sudo xattr -r -d com.apple.quarantine清除隔离属性;三、control+点击应用选择“打开”临时豁免。

Mac系统下载安装第三方软件时,突然弹出“XXX已损坏,无法打开。您应该将它移到废纸篓”的警告,根本打不开——这不是软件真坏了,而是macOS Gatekeeper安全机制给非App Store或未公证应用打上的隔离标记,误判为风险程序。
先解锁系统对“任何来源”的限制
macOS 10.15 Catalina起,“任何来源”选项默认隐藏,必须用终端命令激活,否则后续操作无效。
打开【终端】→输入 sudo spctl --master-disable →回车 →输入开机密码(输入时屏幕无任何显示,包括星号,凭感觉敲完直接回车)。
这一步做完后,去【系统设置】→【隐私与安全性】→【安全性】→滚动到底部,就能看到“任何来源”选项已出现并自动启用。如果没出现,重启终端再试一次命令。
清除应用的隔离属性标记
即使开了“任何来源”,很多软件仍报“已损坏”,是因为它们被系统标记了 com.apple.quarantine 属性——就像贴了张“可疑包裹”封条。必须手动撕掉这张封条。
方法一:拖拽式精准清除(推荐,不易输错路径)
打开终端 →输入 sudo xattr -r -d com.apple.quarantine →**末尾留一个空格,别回车** →打开访达,进入【应用程序】文件夹 →把出问题的App图标直接拖进终端窗口 →此时命令自动补全为类似 sudo xattr -r -d com.apple.quarantine /Applications/Visual Studio Code.app →回车 →输入密码 →完成。
方法二:手动输入路径(适合熟悉路径者)
终端中输入 sudo xattr -r -d com.apple.quarantine "/Applications/你的App名字.app" →注意:App名字含空格或特殊字符,必须用英文双引号包裹 →回车 →输密码。
【关键提醒】路径里不能漏掉“.app”后缀,也不能写成“.app/”斜杠结尾,否则命令执行失败且无提示。
终极兜底:右键绕过验证直接打开
前两步都做了还是打不开?别删软件,试试这个系统级快捷方式:
在访达中找到该App →鼠标右键(或按住Control键点击)→选择【打开】→弹窗会显示“已损坏”警告,但下方多出一个【打开】按钮 →点击它 →软件即可启动。
这个操作本质是向系统发起一次临时豁免请求,只对当前App生效,不影响其他安全策略。macOS Ventura 13及更新版本对这类操作支持更稳定,成功率远高于旧系统。











