macos - 重置 macOS 应用程序安全警报

标签 macos cocoa

从互联网下载应用程序时,通常会出现一个对话框,询问您是否要打开它以及它是否已签名和/或经过公证。

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

如何重置系统,以便我可以看到用户首次下载该应用程序时会看到的内容?

最佳答案

好的。我想我已经弄清楚了,但这有点奇怪(我必须删除该应用程序并从我测试从互联网下载的应用程序的 .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/

相关文章:

php - 在 Mac OS X 10.8.3 上激活 Apache/PHP

python - 获取另一个应用程序的所有快捷方式的列表

iphone - 带有从互联网下载的声音的本地通知 - iPhone

objective-c - 如何在 Cocoa 中将 Finder Sync Extensions 与 Xcode 集成

cocoa - 如何在 Cocoa 中使用图像作为文本字段的背景?

swift - sqlite3_open 在 swift Playground 而不是 swift 应用程序中工作

macos - Mac 终端中很难看到鼠标指针

objective-c - dyld 未加载问题 xcode 4

objective-c - 列出前六个月

objective-c - 如何在多种方法中冒泡错误对象?