如何在macOS中请求可访问性权限

时间:2018-12-04 15:46:04

标签: macos

由于Mojave没有可访问性权限,以下代码不起作用

KeyMap keyStatesBig; GetKeys(keyStatesBig);

但是是否有钥匙可以放入info.plist来询问用户启动应用的权限?

1 个答案:

答案 0 :(得分:1)

info.plist不可能。

您可以在启动时自行询问用户。使用AXIsProcessTrusted确定是否启用了辅助功能。

如果未启用,则可以显示一个对话框,要求用户将其打开。

您还可以为用户打开相关的首选项:

NSString* prefPage = @"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility";
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:prefPage]];

查看Dropbox的操作方式(这是自定义UI):

enter image description here

(如上所述,Turn on Accessibility按钮只是将“系统偏好设置”打开到正确的位置)