objective-c - 检查 "assistive access privileges"后,如何为我的应用程序提供 "Enable Access for Assistive Devices"?

标签 objective-c macos cocoa macos-carbon

我有一个应用程序,它使用(完全用户友好的)系统范围键盘 Hook 来实现辅助功能。

当应用程序启动时,我检查是否选中了“启用辅助设备访问”设置,正如其他人在这里询问的那样:Programmatically determine if "enable access for assistive devices" is checked in Cocoa app

我的问题是,即使通过复选框启用访问权限后,应用程序仍会在没有这些权限的情况下继续运行。如何授予(当前正在运行的)应用程序权限并使键盘 Hook 正常工作?我需要重新启动应用程序吗?

最佳答案

查看您发布的链接,

I asked the Accessibility engineer again, and apparently you have to re-exec or re-launch the now-trusted application for the new state to take effect.

我会向用户显示应用程序必须重新启动才能启用辅助权限的通知或消息,然后重新启动它。

关于objective-c - 检查 "assistive access privileges"后,如何为我的应用程序提供 "Enable Access for Assistive Devices"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132845/

相关文章:

xcode - 如何在 MacOS 上切换命令行工具

objective-c - CGPDFPageRef 到 CGImageRef/NSBitmapImageRep 无需绘制

objective-c - 对象(持有 NSMutableArray)在父/子类中具有不同的内容

ios - 网络连接应仅在更改时出现

macos - GameScene 类中必需的 init 方法

c++ - 如何在Mac OS X上安装ruby-filemagic?

iphone - 获取 "Active Configuration"

ios - 如何在 objective-c 中使用来自本地主机的 json 数据?

ios - 如何在菜单向上或向下滑动时更改 UIButton 标签文本?

ios - 在 icloud 上禁用文档文件夹及其所有子文件夹的备份?