我正在开发一个需要从外部提供商获取授权令牌的应用程序。 因此,我需要一个用于重定向回调的自定义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无法识别以
开头的URLchirper:
答案 0 :(得分:1)
根据对this question的回答,问题在于回调URL中包含://
。如果删除这些,则应打开URL。我发现这在macOS 10.15.5上是正确的。
答案 1 :(得分:0)
尝试“清理生成文件夹”并重新生成。对我有帮助。在某些情况下,这似乎是必需的。