从互联网下载应用程序时,通常会出现一个对话框,询问您是否要打开它以及它是否已签名和/或经过公证。
现在我已经打开了我的应用程序一次,因此该对话框不会再次出现。
如何重置系统,以便我可以看到用户首次下载该应用程序时会看到的内容?
最佳答案
好的。我想我已经弄清楚了,但这有点奇怪(我必须删除该应用程序并从我测试从互联网下载的应用程序的 .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
参数。为了找到规则编号,我必须使用一个似乎没有记录在 --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
键现在是假的。
奇怪的是,当我立即启动该应用程序时,至少是 10.13.6,它仍然在没有对话框的情况下启动... :-/我认为这是一种缓存情况,因为在我删除了应用程序并重新提取它仍然启动的应用程序。
但是,在我清空垃圾箱并启动其他一些应用程序,然后返回并提取该应用程序并再次启动它之后,我得到了预期的结果,即您的策略不允许该应用程序启动对话框。
尝试一下,看看是否适合您。
关于macos - 重置 macOS 应用程序安全警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54483425/