1

我试图判断用户是否设置了特定的系统首选项。即应用程序需要知道他们是否提供了全盘访问权限,他们是否在辅助功能下选择了我们的应用程序等,如下图所示。

我知道我们可以做类似的事情

defaults read com.apple.AppleMultitouchTrackpad

但我无法在安全和隐私下找到完整磁盘访问、文件和文件夹以及可访问性。

com.apple.XXX地方的清单吗?

我基本上是在尝试做类似的事情

defaults read com.apple.security.Privacy_Accessibility

我可以像电子一样打开系统首选项窗格

shell.openExternal('x-apple.systempreferences:com.apple.preference.security.Privacy_Accessibility')

所以我认为可能有一种类似的方式来读取设置。

在此处输入图像描述

4

1 回答 1

2

要确定是否启用了可访问性访问,您可以使用AXIsProcessTrusted它的对应项AXIsProcessTrustedWithOptions. 两者都是ApplicationServices. 从文档中:

如果当前进程是受信任的可访问性客户端,则返回 TRUE,否则返回 FALSE。

似乎无法检测 FDA 是否启用;没有API。一些开发人员试图通过尝试读取已知的受保护文件并查看其是否有效来测试访问权限;但这种方法很脆弱,Apple 确实建议不要这样做。更多讨论在这里

于 2019-12-23T20:54:58.640 回答