gpt4 book ai didi

swift - facebookLogin.logInWithReadPermissions 与 Firebase 问题

转载 作者:搜寻专家 更新时间:2023-11-01 05:36:49 25 4
gpt4 key购买 nike

我能够使用基本的 SDK 程序成功验证 facebook 的登录身份,但在尝试使用 Firebase 进行身份验证时遇到一些困惑。我已经通读了文档并复制并粘贴了代码,但我仍然收到一条警告,内容为

'logInWithReadPermissions(_:handler:)' is deprecated: use logInWithReadPermissions:fromViewController:handler: instead facebookLogin.logInWithReadPermissions(["email"], handler: instead. 

1) 这个警告是什么意思,我该如何解决?2) 通过电子邮件和密码登录,您会看到已创建的注册用户,但我如何知道和查看用户是否在 Firebase 数据库中注册了 facebook 身份验证?

感谢您的帮助或指导!

import UIKit
import Firebase
import FBSDKCoreKit
import FBSDKLoginKit


class ViewController: UIViewController, FBSDKLoginButtonDelegate {

let loginButton: FBSDKLoginButton = {
let button = FBSDKLoginButton()
button.readPermissions = ["email"]
return button
}()

override func viewDidLoad() {
super.viewDidLoad()

view.addSubview(loginButton)
loginButton.center = view.center
loginButton.delegate = self

let ref = Firebase(url: "https://my-app.firebaseio.com")
let facebookLogin = FBSDKLoginManager()

facebookLogin.logInWithReadPermissions(["email"], handler: {
(facebookResult, facebookError) -> Void in
if facebookError != nil {
print("Facebook login failed. Error \(facebookError)")
} else if facebookResult.isCancelled {
print("Facebook login was cancelled.")
} else {
let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
ref.authWithOAuthProvider("facebook", token: accessToken,
withCompletionBlock: { error, authData in
if error != nil {
print("Login failed. \(error)")
} else {
print("Logged in! \(authData)")
}
})
}
})

}


func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
if error == nil {
print("completed login")
self.performSegueWithIdentifier("showNew", sender: self)
}

else {
print(error.localizedDescription)
}
}


func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
print("user logged out")
}

func loginButtonWillLogin(loginButton: FBSDKLoginButton!) -> Bool {
return true
}

}

最佳答案

尝试类似的东西(在没有警告的情况下编译):

let currentToken = FBSDKAccessToken.currentAccessToken()

// Show login only if we had not logged in before
if (currentToken == nil || !currentToken.hasGranted("email")) {

let ref = Firebase(url: "https://my-app.firebaseio.com")
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self, handler: {
(facebookResult, facebookError) -> Void in
if facebookError != nil {
log.error("Facebook login failed. Error \(facebookError)")
.
.
.

关于swift - facebookLogin.logInWithReadPermissions 与 Firebase 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36638211/

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