gpt4 book ai didi

ios - 在使用 google 登录和 facebook 登录我的 ios 应用程序时 - 如何将两种 viewDidLoad() 方法的代码合并为一个?

转载 作者:行者123 更新时间:2023-11-28 06:48:47 25 4
gpt4 key购买 nike

我正在为我的 iOS 应用程序实现 google 登录和 facebook 登录。

在我的 viewController.swift 中,我有一个名为 viewDidLoad() 的方法,目前 - 没有 facebook - 我有以下代码:

class ViewController: UIViewController, GIDSignInUIDelegate {

override func viewDidLoad() {
super.viewDidLoad()
GIDSignIn.sharedInstance().uiDelegate = self
GIDSignIn.sharedInstance().signInSilently()
print("signed in automatically")
}

}

这行得通,所有与签名(使用 google)的逻辑都发生在 appDelegate 中,所以在这里我们只检查是否可以静默登录。

但是现在我正在关注关于在 ios 上使用 swift 登录的 facebook 教程,作者说修改 viewDidLoad() 方法如下:

class ViewController: UIViewController, FBSDKLoginButtonDelegate {

override func viewDidLoad() {
super.viewDidLoad()

if (FBSDKAccessToken.currentAccessToken() == nil)
{
print("Not logged in")
}
else
{
print("logged in")
}

var loginButton = FBSDKLoginButton()
loginButton.readPermissions = ["public_profile", "email"]
loginButton.delegate = self

}

}

现在我的问题是 - 如何将这两种方法合并在一起,以便它在两种情况下都有效(当用户使用 google 或当他使用 facebook 时)?

谢谢。

最佳答案

1) 这是对 Facebook 实现的逐行描述

if (FBSDKAccessToken.currentAccessToken() == nil)
{
print("Not logged in")
}
else
{
print("logged in")
}

此条件仅检查是否存在访问 token 并打印它,如果您已经登录 FBSDKAccessToken.currentAccessToken() 返回访问 token ,否则它将返回 nil

2)var loginButton = FBSDKLoginButton()

此行启动 Facebook 登录按钮实例

3)loginButton.readPermissions = ["public_profile", "email"]

设置访问数据的权限

4)loginButton.delegate = self

将 facebook 委托(delegate)设置为自己

结论 - 这些代码行仅完成了初始设置。因此它不会与 google 委托(delegate)调用混淆。

解决方案 - 您可以采用两种不同的方法进行 facebook 和 google 设置。然后从 ViewDidLoad 调用它们。

关于ios - 在使用 google 登录和 facebook 登录我的 ios 应用程序时 - 如何将两种 viewDidLoad() 方法的代码合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35488412/

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