【发布时间】:2018-06-25 02:17:28
【问题描述】:
我正在开发一个需要从外部提供商获取授权令牌的应用。 所以,我需要一个用于重定向回调的自定义 URL 方案。
重定向回调为:chirper://success。
我还在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
}
}
}
但是当我用 Safari 打开重定向回调 URL 时,我得到的是:
Safari 无法打开此 URL,因为 macOS 无法识别以
chirper:开头的 URL
【问题讨论】:
-
点击链接时应用程序是否正在运行?
-
@albert 不起作用...但是别担心,我有一个想法可以使用另一种方法。
-
@albert 我将创建一个 WKWebView 并侦听新的 URL 以获取访问令牌,而不是使用 URL 方案。我找不到任何其他方法
-
@albert 我不发布答案的原因是因为我在使用 WKWebView 时放弃了 URL Schemes 的想法。但是谢谢你的帮助????
-
尝试“清理构建文件夹”并重建。对我有帮助。看起来在某些情况下这是必需的。
标签: swift macos cocoa url oauth