我正在尝试使用 ASWebAuthenticationSession 网络视图。身份验证完成后,不会调用会话完成处理程序。因此,网络视图不会关闭。
guard let authURL = URL(string: "https://github.com/login/oauth/authorize?client_id=<client_id>/")
else { return }
let scheme = "octonotes"
session = ASWebAuthenticationSession.init(url: authURL, callbackURLScheme: scheme, completionHandler: { callbackURL, error in
// Handle the callback.
print(callbackURL!)
print(error!)
})
session?.presentationContextProvider = self
session?.start()
我在 info.plist 中设置了回调 url 方案。同样在 Targets -> info -> URL Types 中更新它看起来像: URL Types
运行上述代码后,会出现 ASWebAuthenticationSession Web 视图,它为用户提供登录页面。身份验证完成后,Web 视图不会像 WKWebView 那样关闭。Web 视图的左上方有取消选项,它会调用错误的完成处理程序。
身份验证会话完成后有没有办法关闭 webview?