OSX Swift:如何听Keypress?

时间:2017-07-18 03:28:54

标签: swift macos

我正在开发OSX中的应用程序,我想在用户按下键盘组合时打开我的应用程序。

1 个答案:

答案 0 :(得分:2)

是的可能

如果您的应用程序已由用户打开,则只需实施keyDown(with event: NSEvent) function

func keyDown(with event: NSEvent) {
    guard let e = event.characters else {
        return
    }
    //Do something based on keyboard input
}

如果您在应用程序未打开时尝试访问密钥,那么您基本上是implemented a keylogger

但你真的不应该

从您的问题来看,您似乎想要后一种选择。这有问题有三个原因:

  1. 这是荒谬的不安全感。您正在存储application's sandbox之外的极其敏感的数据,这些数据很容易被窥探。
  2. 严重违反信任。没有其他第三方应用程序执行此类行为,因此,当您的应用程序执行此操作时,用户肯定会考虑安装它,主要是因为:
  3. 多余。用户已经可以通过各种方式自动打开各种应用程序。是否通过
  4. 但是,如果您确定需要此功能,则可以generally agreed upon solution(已编辑)

    一些友好建议

    我相信你已经注意到了,你的问题并不是特别受欢迎。为了改善您将来获得的答案,请阅读Stack Overflow Question Guide,其中tl; dr需要:

    • 具体说明您的问题(您尝试过的内容,背景等)
    • 预先搜索您的问题