在 Mac 上第一次打开从网上下载的软件,常会遇到这几种提示:
- 「无法打开"XXX",因为无法验证开发者」
- 「Apple 无法检查"XXX"是否包含恶意软件」
- 「"XXX"已损坏,无法打开。你应该将它移到废纸篓」
这是 macOS 的 门禁(Gatekeeper) 在起作用:没有经过 Apple 公证的应用,或者带有「从网络下载」标记的应用,系统会先拦下来。很多免费、开源的 Mac 软件因为开发者没有加入付费的 Apple 开发者计划,都会触发这个提示。
先确认来源。 只对来自官方发布渠道、并且 SHA256 校验一致的软件放行,校验方法见《下载的安装包怎么校验 SHA256》。来源不明的软件,最好直接删除。
方法一:在系统设置里点「仍要打开」
- 先双击打开一次应用,看到拦截提示后点「完成」或「取消」。
- 打开「系统设置 → 隐私与安全性」,向下滚动到「安全性」部分。
- 这里会显示「已阻止使用"XXX",因为……」,点旁边的「仍要打开」,输入登录密码确认。
- 再次打开应用,在弹窗里点「仍要打开」,以后就能正常使用了。
在 macOS 14 及更早版本上,也可以在「访达」里按住 Control 键点按应用,选择「打开」来放行。从 macOS 15 开始,这个快捷方式不再生效,只能用上面的系统设置方法。
方法二:用终端去掉「从网络下载」标记
提示「已损坏」的应用,大多是因为带有隔离标记又没有签名,「仍要打开」按钮可能不会出现。可以在终端执行:
xattr -dr com.apple.quarantine "/Applications/应用名称.app"
把引号里的路径换成实际位置(可以把应用从「应用程序」文件夹拖进终端自动填好)。执行后再打开应用即可。这条命令只移除这一个应用的隔离标记,不会关闭系统的安全检查。
不推荐的做法
网上流传的 sudo spctl --master-disable(允许任何来源)会对所有应用关闭门禁检查,新版 macOS 执行后还要到系统设置里额外确认。只为一个应用放行时,用上面两种方法就够了。
常见的 Mac 软件
本站收录的不少 Mac 工具,例如 Keka、Rectangle、IINA、Stats、Maccy,如果遇到上面的提示,都可以按本文方法在确认来源后打开。