
首先明确一下这个报错的原因,是因为macOS 的安全 Gatekeeper 机制触发的,不是文件真的损坏了,通常是因为如下原因:
1.应用未经过苹果公证签名(非 App Store 来源)
2.从微信 / 网盘等第三方渠道下载,系统隔离了文件
3.系统权限限制了非官方应用的运行
✅ 方法一:最常用的「右键打开」临时放行
这是最简单的临时解决方案,适合只需要偶尔打开的应用:
先不要点「移到废纸篓」,点「取消」关闭弹窗
找到相应软件,如我的这款BirdyBank.app,右键(双指按触控板)点击应用图标
在弹出的菜单中选择「打开」
此时会弹出新的确认框,点击「打开」即可正常启动
原理:手动右键打开会告诉系统「你信任这个应用」,Gatekeeper 会记录你的选择,后续双击也能正常打开。
✅ 方法二:彻底关闭 Gatekeeper 限制(永久解决,适合开发者 / 常用非官方应用)
如果右键打开无效,或者需要彻底解决这类问题,可以用终端命令关闭系统限制:
步骤 1:打开终端
打开「启动台」→「终端」,或者用 Spotlight(按 Command + 空格)搜索 Terminal 打开
步骤 2:输入命令关闭 Gatekeeper
打开”终端“软件,输入如下命令:
sudo spctl --master-disable输入后按回车,会提示输入你的 Mac 开机密码(输入时屏幕不会显示字符,正常输入后回车即可)
步骤 3:验证设置生效
打开「系统设置」→「隐私与安全性」,拉到最下方,会看到「允许从以下位置下载的 App」选项,选中「任何来源」
(如果没显示「任何来源」,就是命令没执行成功,重新输入命令并确认密码)
步骤 4:重新打开应用
现在双击 BirdyBank.app 就能正常打开了,不会再提示「已损坏」
✅ 方法三:针对「隔离属性」的修复(微信 / 网盘下载文件专用)
如果是从微信、QQ、网盘下载的应用,系统会给文件加「隔离属性」,导致报错,用终端命令移除即可:
打开终端,输入以下命令(注意空格,最后是你的软件的名称,我的这个是BirdyBank.app):
xattr -d com.apple.quarantine /Applications/BirdyBank.app注意:如果应用不在「应用程序」文件夹,需要把 /Applications/BirdyBank.app 替换成你实际的文件路径(比如 ~/Downloads/BirdyBank.app)
按回车执行,没有提示就是成功,重新打开应用即可。
✅ 方法四:重新签名应用(终极方案,适合命令行用户)
如果以上方法都无效,可以用终端给应用重新签名,绕过签名校验:
sudo codesign --force --deep --sign - /Applications/BirdyBank.app输入开机密码后回车,等待执行完成后重新打开应用即可。
⚠️ 重要安全提醒
1.仅对信任的应用操作:关闭 Gatekeeper 会降低系统安全性,只建议对自己确认安全的应用使用,不要随意打开未知来源的 App。
2.恢复安全设置:如果不需要了,可以用终端命令重新开启 Gatekeeper,恢复系统安全:
sudo spctl --master-enable3.优先从官方渠道下载:最安全的方式是从 App Store 或开发者官网下载经过公证的应用,从根本上避免这类问题。
📌 以上分享希望对大家有所帮助,祝大家好运!
夜雨聆风