重置 macOS 应用程序安全警报

Reset macOS application security alert

从 Internet 下载应用程序时,通常会出现一个对话框,询问您是否要打开它以及它是否已签名 and/or 公证。

现在我已经打开了我的应用程序一次,所以对话框不会再次出现。

如何重置系统,以便我可以看到第一次下载该应用程序的用户会看到什么?

谢谢@james-bucanek,不幸的是我没有找到简单的解决方案,比如终端命令。但似乎可行的是创建一个新用户帐户。这有点乏味,但至少我可以再次检查该应用程序是否已正确公证。

您也可以通过终端命令spctl -a -v MyApp.app检查公证,但为了安全起见。

好的。我想我明白了,但有点奇怪(我不得不删除该应用程序并从 .zip 存档中重新提取它,以便我测试从互联网上下载的应用程序)。

所以我上面的评论仍然适用 - 删除允许应用程序路径规则的简单方法似乎不起作用:

I'm not sure if it's a bug in spctl or what but it doesn't seem to be able to remove a rule based on a path. I always get the error: "{app path}: no matches for search or update operation" :-/

然而,另一种引用规则的方法是使用它们的 "rule number" 和 --rule 参数。要查找规则编号,我必须使用一条命令,该命令似乎未记录在 --help 输出或手册页中:--list

spctl -v -v -v -v --list -t execute

列出所有执行规则,您可以看到应用程序的规则(通常在输出的顶部)。规则编号位于标签或组的“[”之前的最左侧。

然后您可以通过

删除规则
spctl -v -v --remove --rule 5417

(显然,用您的条目规则替换 5417。

然后,如果您执行 spctl -v -v --raw -a --path "path to your app",那么您将看到 assessment:verdict 键现在为 false。

奇怪的是,当我立即启动应用程序时,至少是 10.13.6,它仍然在没有对话框的情况下启动...:-/ 我认为这是一种缓存情况,因为在我之后删除应用程序并重新提取它仍然启动的应用程序。

但是在我清空垃圾箱并启动其他应用程序然后返回并提取该应用程序并再次启动它之后,我得到了预期的您的政策不允许该应用程序启动对话框。

试试看是否适合你。