Che*_*tan 8 cocoa accessibility
使用NSAccessibility API的Cocoa应用程序需要在Universal Access pref窗格中检查"启用辅助设备访问".我看到许多应用程序在运行时被禁用时会弹出警告.如何以编程方式检查是否已启用此功能,以便在我的应用中显示警告?
pka*_*amb 17
在OS X 10.9 Mavericks中,AXAPIEnabled() 已被弃用.
AXIsProcessTrustedWithOptions 可以用来代替:
NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @YES};
BOOL accessibilityEnabled = AXIsProcessTrustedWithOptions((CFDictionaryRef)options);
Run Code Online (Sandbox Code Playgroud)
如果您传递YES的kAXTrustedCheckOptionPrompt,系统会向用户显示一个链接到系统预置的一个有用的小对话框:
"YourApp.app希望使用辅助功能来控制这台计算机."

我想你正在寻找AXAPIEnabled()。
extern Boolean AXAPIEnabled ();
Run Code Online (Sandbox Code Playgroud)
引用文档:
返回辅助功能 API 是否已启用。
如果当前启用了辅助功能 API,则返回 TRUE,否则返回 FALSE。
如果未启用辅助功能 API 或调用进程不是受信任的辅助功能客户端,辅助应用程序将无法工作。用户可以通过在通用访问首选项中选中“启用辅助设备的访问”来启用辅助功能 API。