macOS Swift监控全局事件不适用于通用键控

macOS Swift监控全局事件不适用于通用键控,macos,events,swift4,Macos,Events,Swift4,我确实为该应用程序设置了必要的权限,对于某些事件,它正在工作 例如: NSEvent.addGlobalMonitorForEvents(匹配:.flagsChanged){ 打印(“\($0)”) } 有效,但是 NSEvent.addGlobalMonitorForEvents(匹配:.keyDown){ 打印(“\($0)”) } 没有 所以我想知道,在通过检查权限后,是否可以在全球范围内监听任何按键? let accessEnabled=AXIsProcessTrustedWithOpt

我确实为该应用程序设置了必要的权限,对于某些事件,它正在工作

例如:

NSEvent.addGlobalMonitorForEvents(匹配:.flagsChanged){
打印(“\($0)”)
}

有效,但是

NSEvent.addGlobalMonitorForEvents(匹配:.keyDown){
打印(“\($0)”)
}

没有


所以我想知道,在通过检查权限后,是否可以在全球范围内监听任何按键?

let accessEnabled=AXIsProcessTrustedWithOptions(
[kAXTrustedCheckOptionPrompt.takeUnrepainedValue()作为字符串:true]作为CFDictionary)

我发现,由于通过Xcode调试器运行的程序将特权授予应用程序是不够的,我还必须将特权授予Xcode本身。

schnesim是正确的!!!
但有一点答案没有提到,那就是每次你在一段正在运行的代码中更改某些内容时,你都必须返回到首选项并禁用,然后重新启用应用程序的权限(但不是xcode),我为此苦苦挣扎了好几个小时。

Wow!你救了我一周!我花了这么多时间才弄明白!谢谢你,伙计!