⚠️
此頁面尚未翻譯,當前顯示簡體中文版本
macOS 提示"应用已损坏,无法打开"的解决方法
在 macOS 上打开 Chatbox 时,你可能会遇到错误提示:"Chatbox 已损坏,无法打开。你应该将它移到废纸篓。"
绝大多数情况下,应用并没有真的损坏。这是 macOS 的 Gatekeeper 安全机制阻止了从互联网下载的、未经 Apple 公证的应用。
方法一:在系统设置中放行(推荐)
这是最简单、最安全的方法。
- 正常尝试打开 Chatbox,弹出错误提示后点击取消
- 打开系统设置 > 隐私与安全性
- 向下滚动到"安全性"区域,你会看到提示:"Chatbox"已被阻止使用,因为它不是来自已识别的开发者。
- 点击仍要打开,输入 Mac 登录密码即可
方法二:通过终端移除隔离属性
如果方法一中没有出现"仍要打开"选项,可以先通过终端命令移除隔离标记,使"仍要打开"按钮出现。
- 打开终端(位于
/应用程序/实用工具/目录下) - 执行以下命令:
sudo xattr -cr /Applications/Chatbox.app
提示:你可以先输入
sudo xattr -cr(注意末尾有空格),然后将 Chatbox 应用从访达直接拖拽到终端窗口,系统会自动填充路径。
- 再次尝试打开 Chatbox——可能仍会提示"已损坏",这是正常的
- 此时打开系统设置 > 隐私与安全性,**"仍要打开"**按钮应该已经出现
- 点击仍要打开,输入 Mac 登录密码,即可正常打开 Chatbox
如果提示 "Operation not permitted"
说明终端没有足够的权限,需要授予完全磁盘访问权限:
- 打开系统设置 > 隐私与安全性 > 完全磁盘访问权限
- 点击左下角的锁图标解锁,输入密码
- 点击 "+",导航至应用程序 > 实用工具,选择 终端.app,点击打开
- 确保终端旁边的开关已打开
- 完全退出并重新启动终端
- 重新执行命令:
sudo xattr -cr /Applications/Chatbox.app
- 然后按上述步骤 3–5,通过系统设置 > 仍要打开来打开应用
方法三:临时禁用 Gatekeeper
如果以上方法仍无效,可以临时完全禁用 Gatekeeper。
- 在终端中执行:
sudo spctl --master-disable
- 打开 Chatbox
- 成功打开后,立即重新启用 Gatekeeper:
sudo spctl --master-enable
方法四:强制重签名
作为最后手段,可以为应用创建本地临时签名:
sudo codesign --force --deep --sign - /Applications/Chatbox.app
方案速查表
| 步骤 | 方法 | 适用场景 |
|---|---|---|
| 1 | 系统设置 > 仍要打开 | 首选,最安全、最简单 |
| 2 | 终端 sudo xattr -cr + 仍要打开 | "仍要打开"选项未出现时,先执行命令使其出现 |
| 3 | 临时禁用 Gatekeeper | 终端命令执行失败时 |
| 4 | 强制重签名 | 以上方法都无效时的最后手段 |
为什么会出现这个问题?
macOS 会为从互联网下载的文件添加 com.apple.quarantine 隔离属性。打开带有此标记的应用时,Gatekeeper 会检查应用是否经过 Apple 代码签名和公证。如果未通过验证,macOS 就会阻止运行并显示"已损坏"的误导性提示。