小编Art*_*iot的帖子

NSEvent.keyCode 到 Swift 中的 unicode 字符

我正在尝试开发 macOS 应用程序,并且需要监听按键事件。

我可以使用以下类来做到这一点:

import Cocoa

class EditorWindow: NSWindow {
    override func keyDown(with event: NSEvent) {
        super.keyDown(with: event)
        Swift.print("Caught a key down: \(event.keyCode)!")
    }
}
Run Code Online (Sandbox Code Playgroud)

我能够获取每个字母的关键代码,例如A = 0S = 1

但是,在这种情况下,键代码似乎不太适合 Unicode 标量,因此我无法将这些键值转换为Character.

有什么办法可以将输出UInt16的结果转换NSEvent.keyCode为aCharacter或a吗String

macos events cocoa swift

4
推荐指数
1
解决办法
3283
查看次数

URL Schemes 不适用于 macOS

我正在开发一个需要从外部提供程序获取授权令牌的应用程序。所以,我需要一个用于重定向回调的自定义 URL 方案。

重定向回调是:chirper://success

我在我的Info.plist网址方案

我还在我的中添加了以下方法AppDelegate.swift

func handleGetURLEvent(event: NSAppleEventDescriptor?, replyEvent: NSAppleEventDescriptor?) {
    if let aeEventDescriptor = event?.paramDescriptor(forKeyword: AEKeyword(keyDirectObject)) {
        if let urlStr = aeEventDescriptor.stringValue {
            let url = URL(string: urlStr)
            print(url)
            // do something with the URL
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我用 Safari 打开重定向回调 URL 时,这就是我得到的: 苹果浏览器

Safari 无法打开此 URL,因为 macOS 无法识别以 chirper:

url macos cocoa oauth swift

4
推荐指数
1
解决办法
1583
查看次数

标签 统计

cocoa ×2

macos ×2

swift ×2

events ×1

oauth ×1

url ×1