内容纲要

🗂 | 查看  Apple 专题可浏览更多内容


问题

在使用 macOS 时从非 App Store 下载的应用软件你可能会遭遇这样的提示:「无法打开『某应用』,因为 Apple 无法检查其是否包含恶意软件」

除了上述提示你可能还会遇到这样的:

  • 打不开「某应用」,因为它来自身份不明的开发者。
  • 「某应用」已损坏,打不开。您应该将它移到废纸篓。
  • 「某应用」已损坏,打不开。您应该推出磁盘映像。

这是因为 macOS 中一个名叫「Gatekeeper」的安全机制,但这并不意味着该 App 一定存在问题,例如某些 App 在注册开发者 ID 之前就开始编写了。不过该 App 确实未经过 Apple 审核,并且发布后 macOS 也没有办法检查它是否被修改或者已损坏。

恶意软件传播的常见方式是,在 App 中插入有害代码,然后重新分发被感染的 App。因此,来自身份不明开发者的未注册 App 可能会包含有害代码。

最安全的方法是,从 Mac App Store 中查找该 App 的更高版本,或者查找替代 App。

启用「任何来源」

但 Mac App Store 并不涵盖所有 App,有时候就是需要使用想要打开的 App,临时的解决办法是打开「系统偏好设置」里的「安全性与隐私」:

如上,将会看到提示:「已阻止使用『…』,因为来自身份不明的开发者」,这时点击右侧的「仍要打开」即可。

但如果没有该提示,或存在多个这样的应用每个打开时都要重复一遍未免有些麻烦。解决办法很简单,使用「允许从以下位置下载的 App」的中的「任何来源」选项。

但从 macOS Sierra 开始这个选项被隐藏掉了,但也无妨,我们可以使用命令将其打开。

使用 Command ⌘ + 空格键 快速打开「聚焦搜索」然后搜索并打开「终端」,使用命令:

$ sudo spctl --master-disable

不要复制 $ 符号

会提示输入密码,密码就是开机密码,输入并回车即可。

这样就可以看到并选中了「任何来源」选项。

绕过公证

到这里基本就解决问题了,如果还不行,使用命令:

$ sudo xattr -rd com.apple.quarantine /Applications/[打不开的应用].app

不要复制 $ 符号

你可以输入命令 sudo xattr -rd com.apple.quarantine ,注意最后有一个空格,然后打开「访达 (Finder)」,在左侧列表选择「应用程序」,找到那个打不开的应用程序用鼠标将其拖进「终端」,此时命令就会类似于上述的样子,然后回车允许即可。