gpt4 book ai didi

swift - 如何实现 GoogleSignIn

转载 作者:可可西里 更新时间:2023-10-31 23:58:19 37 4
gpt4 key购买 nike

一些文档 1 2假设我必须使用 application:openURL:options:。我的问题是——因为我已经在使用该方法,并且如何实现的示例代码完全劫持了它:

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any])
-> Bool {
return GIDSignIn.sharedInstance().handle(url,
sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String,
annotation: [:])
}

如何确定 openURL 调用是为了登录?

我宁愿实现与 FirebaseUI 中的方法等效的方法 3 :

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
let sourceApplication = options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String?
if FUIAuth.defaultAuthUI()?.handleOpen(url, sourceApplication: sourceApplication) ?? false {
return true
}
// other URL handling goes here.
return false
}

最佳答案

您可能已经注意到 GIDSignIn.sharedInstance().handle 方法返回一个 bool,因此您可以这样调用它:

func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any])
-> Bool {
if GIDSignIn.sharedInstance().handle(url, sourceApplication:options[.sourceApplication] as? String, annotation: [:]) {
return true
}

return false
}

如果您的应用支持其他不同类型的登录(facebook、twitter 等),这种方法会更有用
在这种情况下,您所要做的就是为每种 url 添加更多的 if 条件。
希望这有帮助

关于swift - 如何实现 GoogleSignIn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54984780/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com