在macOS 10.15 Catalina中,安全系统首选项中有一个新的部分,名为输入监视。
上面写着:
允许下面的应用程序监视来自键盘的输入,甚至在使用其他应用程序时也是如此。
我想知道是哪个API支持这一节,让应用程序进入这一节。
我知道AXIsProcessTrustedWithOptions(),它将一个应用程序添加到输入监视的可访问性部分。然后,我可以使用NSEvent.addGlobalMonitorForEvents(matching: .keyDown, handler: self.keyDown(event:))来查看其他应用程序的按键。但是,输入监控有什么好处呢?
看起来,添加一个应用程序到输入监控手动不允许您使用NSEvent.addGlobalMonitorForEvents(...)。
在升级到Catalina之后,像蒸汽这样的应用程序已经被放到了该部分,所以必须有一些东西告诉系统将它们放在那里……

发布于 2021-03-02 01:27:38
@Nick Moore是对的。此API仅在10.15之后才可用。
对于IOHIDRequestAccess()有两种类型的请求,而且几乎没有任何关于它的文档:-( https://developer.apple.com/documentation/iokit/3181574-iohidrequestaccess?language=objc
if #available(macOS 10.15, *) {
// below requests "Input Monitoring"
IOHIDRequestAccess(kIOHIDRequestTypeListenEvent)
// below requests "Accessibility"
IOHIDRequestAccess(kIOHIDRequestTypePostEvent)
}https://stackoverflow.com/questions/58670785
复制相似问题