⚠️
此頁面尚未翻譯,當前顯示簡體中文版本

macOS 提示"应用已损坏,无法打开"的解决方法

在 macOS 上打开 Chatbox 时,你可能会遇到错误提示:"Chatbox 已损坏,无法打开。你应该将它移到废纸篓。"

绝大多数情况下,应用并没有真的损坏。这是 macOS 的 Gatekeeper 安全机制阻止了从互联网下载的、未经 Apple 公证的应用。

方法一:在系统设置中放行(推荐)

这是最简单、最安全的方法。

  1. 正常尝试打开 Chatbox,弹出错误提示后点击取消
  2. 打开系统设置 > 隐私与安全性
  3. 向下滚动到"安全性"区域,你会看到提示:"Chatbox"已被阻止使用,因为它不是来自已识别的开发者。
  4. 点击仍要打开,输入 Mac 登录密码即可

方法二:通过终端移除隔离属性

如果方法一中没有出现"仍要打开"选项,可以先通过终端命令移除隔离标记,使"仍要打开"按钮出现。

  1. 打开终端(位于 /应用程序/实用工具/ 目录下)
  2. 执行以下命令:
sudo xattr -cr /Applications/Chatbox.app

提示:你可以先输入 sudo xattr -cr (注意末尾有空格),然后将 Chatbox 应用从访达直接拖拽到终端窗口,系统会自动填充路径。

  1. 再次尝试打开 Chatbox——可能仍会提示"已损坏",这是正常的
  2. 此时打开系统设置 > 隐私与安全性,**"仍要打开"**按钮应该已经出现
  3. 点击仍要打开,输入 Mac 登录密码,即可正常打开 Chatbox

如果提示 "Operation not permitted"

说明终端没有足够的权限,需要授予完全磁盘访问权限

  1. 打开系统设置 > 隐私与安全性 > 完全磁盘访问权限
  2. 点击左下角的锁图标解锁,输入密码
  3. 点击 "+",导航至应用程序 > 实用工具,选择 终端.app,点击打开
  4. 确保终端旁边的开关已打开
  5. 完全退出并重新启动终端
  6. 重新执行命令:
sudo xattr -cr /Applications/Chatbox.app
  1. 然后按上述步骤 3–5,通过系统设置 > 仍要打开来打开应用

方法三:临时禁用 Gatekeeper

如果以上方法仍无效,可以临时完全禁用 Gatekeeper。

  1. 在终端中执行:
sudo spctl --master-disable
  1. 打开 Chatbox
  2. 成功打开后,立即重新启用 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 就会阻止运行并显示"已损坏"的误导性提示。