解除macOS“已损坏无法打开”提示有五种方法:一、用sudo xattr命令移除quarantine属性;二、用spctl临时禁用Gatekeeper;三、Control+右键选择“打开”手动授权;四、用codesign检查并修复签名;五、用lsregister重置LaunchServices数据库。

一、使用终端命令解除隔离属性
macOS会对从非App Store下载的应用自动添加“com.apple.quarantine”扩展属性,该属性触发Gatekeeper安全机制,导致系统弹出“已损坏无法打开”的提示。移除该属性可使应用绕过初始验证流程,恢复正常启动能力。
1、将待安装的应用程序拖入“应用程序”文件夹(如未完成此步,请先完成)。
2、打开“终端”应用(可在“访达→前往→实用工具”中找到)。
3、输入以下命令并回车(以名为“Example.app”的应用为例,请将名称替换为实际应用名):
sudo xattr -rd com.apple.quarantine /Applications/Example.app
4、系统会提示输入管理员密码,输入时屏幕不显示字符,输完直接按回车。
5、命令执行完毕后无报错即表示成功,此时双击应用即可尝试启动。
二、临时禁用Gatekeeper验证
Gatekeeper是macOS内置的安全策略组件,负责检查应用签名与来源。通过终端临时放宽其限制,可允许运行未经公证或开发者ID签名的软件,适用于紧急调试或小众工具安装场景。
1、打开“终端”应用。
2、输入以下命令并回车:
sudo spctl --master-disable
3、输入管理员密码并回车确认。
4、前往“系统设置→隐私与安全性→安全性”,确认“任何来源”选项已变为可选状态。注意:此操作会降低系统整体防护等级,建议验证完成后立即恢复。
5、右键点击应用图标,选择“打开”,在弹出的对话框中点击“打开”按钮。
三、通过“访达”右键绕过首次验证
macOS保留了一种交互式绕过机制:当应用因隔离属性被拦截时,系统仍允许用户通过特定操作路径手动授权一次运行,无需修改系统策略或终端命令。
1、在“访达”中定位到该应用(如在“下载”或“应用程序”文件夹内)。
2、按住Control键不放,再单击应用图标,呼出上下文菜单。
3、在菜单中选择“打开”(而非双击或点击“显示简介”)。
4、在弹出的安全警告窗口中,点击“打开”按钮。
5、该应用将被记录为已授权,后续双击即可正常启动。
四、检查并修复应用签名完整性
部分第三方应用在传输或解压过程中可能损坏代码签名,导致签名哈希校验失败。使用codesign命令可验证签名有效性,并在签名有效但被标记为无效时强制重新标识。
1、打开“终端”应用。
2、输入以下命令检查签名状态(请替换为实际路径):
codesign --display --verbose=4 /Applications/Example.app
3、若输出中包含“code object is not signed at all”或“invalid signature”,说明签名缺失或失效。
4、如确认该应用来自可信来源且签名本应存在,可尝试用以下命令清除旧签名信息:
sudo xattr -d com.apple.code-signature /Applications/Example.app
5、随后再次执行右键“打开”流程,系统将重新评估并可能接受该应用。
五、重置LaunchServices数据库
LaunchServices负责管理应用注册与启动行为,其缓存数据异常可能导致已授权应用反复触发“已损坏”提示。重建该数据库可刷新应用信任状态,消除误判。
1、关闭所有正在运行的应用程序,尤其是目标应用及其相关进程。
2、打开“终端”应用。
3、输入以下命令并回车:
lsregister -kill -r -domain local -domain system -domain user
4、等待命令执行完成(通常需10–30秒),期间终端无输出属正常现象。
5、重启Mac,然后尝试再次打开该应用。










