Mac应用提示“已损坏”是因Gatekeeper、隔离属性或签名失败所致,可依次尝试右键打开、终端清除quarantine属性、启用“任何来源”、Rosetta转译或重新签名解决。

如果您在Mac上尝试打开某个应用程序,但系统提示“已损坏,无法打开”或“您应该将它移到废纸篓”,则通常是由于macOS的安全机制(如Gatekeeper、隔离属性quarantine或代码签名验证失败)阻止了未公证或非App Store来源的应用运行。以下是解决此问题的步骤:
一、右键“打开”一次性放行
该方法不修改系统全局设置,仅对当前应用临时授权,安全性最高,适用于确认来源可信的单个应用。
1、在“访达”中定位到该应用图标。
2、按住Control键并点击应用图标,呼出快捷菜单。
3、选择“打开”(注意不是双击,也不是“显示简介”)。
4、在弹出的警告窗口中,点击“仍要打开”按钮。
5、应用将启动,且此后双击即可直接运行,无需重复操作。
二、通过终端移除隔离属性
浏览器或第三方下载工具下载的应用常被自动添加com.apple.quarantine扩展属性,导致系统误判为“已损坏”。执行命令可清除该标记,恢复原始签名验证流程。
1、打开“终端”(可在“启动台”或“应用程序→实用工具”中找到)。
2、输入以下命令(注意末尾留一个空格):sudo xattr -rd com.apple.quarantine
3、打开“访达”,进入“应用程序”文件夹,将目标应用图标直接拖入终端窗口(路径将自动补全)。
4、按下回车键,系统提示输入密码时,输入您的管理员开机密码(输入过程不显示字符),再按回车。
5、命令执行完毕后,重新双击应用图标即可启动。
三、启用“任何来源”允许安装
macOS Sierra 10.12 及之后版本默认隐藏“任何来源”选项,但可通过终端命令开启全局允许策略,使系统接受所有开发者签名的应用(含未公证应用)。
1、打开“终端”。
2、输入命令:sudo spctl --master-disable,回车。
3、输入管理员密码(不可见),回车。
4、打开“系统偏好设置”→“安全性与隐私”→“通用”标签页。
5、在“允许从以下位置下载的应用”下方,确认“任何来源”已处于选中状态(若未显示,请重启“安全性与隐私”窗口或重启系统)。
四、使用Rosetta运行兼容性问题应用
在Apple M1/M2/M3芯片Mac上,部分仅支持Intel架构的应用若未适配原生ARM64,可能因架构不匹配而闪退或无法启动,系统有时错误报告为“已损坏”。启用Rosetta可强制以转译模式运行。
1、在“访达”中进入“应用程序”文件夹,找到对应应用。
2、右键点击应用图标,选择“显示简介”。
3、在简介窗口底部,勾选“使用Rosetta打开”复选框。
4、关闭简介窗口,双击应用图标启动。
五、重新签名应用(适用于开发者或高级用户)
当应用因签名损坏、缺失或被篡改而触发errSecCSReqFailed错误时,可使用本地证书进行重新签名,绕过公证校验环节。需提前配置开发者证书或使用ad-hoc签名。
1、确保已安装Xcode命令行工具:在终端执行xcode-select --install并完成安装。
2、在终端中切换至应用包内容目录,例如:cd /Applications/MyApp.app/Contents/MacOS。
3、执行重签名命令:codesign --force --deep --sign - MyApp(其中MyApp为可执行文件名)。
4、返回上层目录,对整个应用包签名:codesign --force --deep --sign - /Applications/MyApp.app。
5、完成后,双击应用图标测试是否可正常启动。

















