使用NSAccessibility应用程序接口的可可应用程序要求在通用访问首选项窗格中选中“启用辅助设备的访问”。我见过许多应用程序在运行时如果禁用此功能,则会弹出警告。如何以编程方式检查此功能是否已启用,以便在应用程序中显示警告?
发布于 2011-08-04 06:30:18
我想你是在找AXAPIEnabled()吧。
extern Boolean AXAPIEnabled (); 引用the docs
返回可访问性接口是否开启。
如果辅助功能API当前已启用,则返回TRUE,否则返回FALSE。
如果辅助功能API未启用,或者调用进程不是受信任的辅助功能客户端,则辅助应用程序将无法工作。用户可以通过选中通用访问首选项中的“为辅助设备启用访问”来启用辅助功能API。
发布于 2013-10-27 04:59:48
在OS X 10.9小牛中,AXAPIEnabled() has been deprecated。
可以改用AXIsProcessTrustedWithOptions:
NSDictionary *options = @{(id)kAXTrustedCheckOptionPrompt: @YES};
BOOL accessibilityEnabled = AXIsProcessTrustedWithOptions((CFDictionaryRef)options);如果传入kAXTrustedCheckOptionPrompt的YES,系统将向用户显示一个有用的小对话框,其中包含指向系统首选项的链接:
"YourApp.app希望使用辅助功能控制此计算机。“

https://stackoverflow.com/questions/6933510
复制相似问题