gpt4 book ai didi

ios - 如何快速处理从多个社交登录帐户重定向回应用程序的登录?

转载 作者:可可西里 更新时间:2023-11-01 00:39:33 26 4
gpt4 key购买 nike

我正在制作一个允许用户从不同平台登录的应用程序,例如 google、Facebook、twitter 等。在 App 委托(delegate)中,我们必须为每个平台实现一个函数 application:openURL:options:。目前我的功能看起来像这样。

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

// Todo handle based on the the arguments and return the bool value to be checked on iPHONE with facebook, google and twitter app
let handled = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, annotation: options[UIApplicationOpenURLOptionsKey.annotation])

GIDSignIn.sharedInstance().handle(url, sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, annotation: [:])

Twitter.sharedInstance().application(app, open: url, options: options)

return handled
}

如上所示,我返回的是 Facebook 的重定向句柄结果。 Google 和 twitter 也返回一个 bool 值。为上述函数返回 Facebook、google 和 twitter 的 handle bool 值的最安全和正确的方法是什么?

最佳答案

试试这个方法

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

let facebookDidHandle = FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, annotation: options[UIApplicationOpenURLOptionsKey.annotation])

let googleDidhandle = GIDSignIn.sharedInstance().handle(url, sourceApplication:options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String, annotation: [:])

let twitterDidHandle = Twitter.sharedInstance().application(app, open: url, options: options)


return googleDidHandle || facebookDidHandle || twitterDidHandle
}

关于ios - 如何快速处理从多个社交登录帐户重定向回应用程序的登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47271628/

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