乐于分享
好东西不私藏

Mac 提示「App 已损坏,无法打开」解决方案大全,第三个解决了我的大麻烦

Mac 提示「App 已损坏,无法打开」解决方案大全,第三个解决了我的大麻烦
一日安装一款鸟友开发的“BirdyBank.app”软件时,出现了如上图所示的弹窗,窗口显示:“软件已损坏,无法打开。你应该将它移到废纸篓”,反反复复试了很多种方法都不行,软件作者很热心,给了我几个版本最终也都没能解决。后来偶然发现是因为从微信、QQ、网盘下载的应用,系统会给文件加「隔离属性」,导致报错,用终端命令即可移除。现在整理一下类似问题的解决思路,供大家参考,避免大家像我一样走弯路,浪费很多时间。

首先明确一下这个报错的原因,是因为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-enable

3.优先从官方渠道下载:最安全的方式是从 App Store 或开发者官网下载经过公证的应用,从根本上避免这类问题。

📌 以上分享希望对大家有所帮助,祝大家好运!