Swift3 在MacOS应用程序中侦听全局键盘快捷键

Swift3 在MacOS应用程序中侦听全局键盘快捷键,swift3,keyboard-shortcuts,macos-sierra,Swift3,Keyboard Shortcuts,Macos Sierra,我创建了一个小的Swift应用程序,它位于菜单栏(时钟旁边)。我想让应用程序在后台监听键盘快捷键,然后让它调用web API以获取一些信息。除了全局键盘快捷键部分,我的一切都正常工作 经过一番搜索,我发现了NSEvent.addGlobalMonitorForEvents。这最初看起来很有希望。我能够让我的应用程序接收所有按键,并过滤掉除我要找的那个以外的所有内容。在苹果文档中进行了一些实验和确认之后,我发现这种机制实际上并不能“处理”事件;按键仍然会被发送到前台应用程序,这在这种情况下是不可取

我创建了一个小的Swift应用程序,它位于菜单栏(时钟旁边)。我想让应用程序在后台监听键盘快捷键,然后让它调用web API以获取一些信息。除了全局键盘快捷键部分,我的一切都正常工作

经过一番搜索,我发现了
NSEvent.addGlobalMonitorForEvents
。这最初看起来很有希望。我能够让我的应用程序接收所有按键,并过滤掉除我要找的那个以外的所有内容。在苹果文档中进行了一些实验和确认之后,我发现这种机制实际上并不能“处理”事件;按键仍然会被发送到前台应用程序,这在这种情况下是不可取的

有没有更好/正确的方法让我的应用程序响应全局键盘快捷键?理想情况下,这在不使用任何第三方API或应用程序的情况下是可能的,尽管它不是交易破坏者