我已经通过Firebase实现了Facebook登录,当我致电Auth.auth().signIn()
时,我得到了一些结果和一个错误。我找不到将这种数据传递给我的一个视图的方法。我无法创建回调函数,因为它是由loginButton()
自动调用的。如何将这种结果和错误传递给我的一种观点?
我确实有一个addStateDidChangeListener
,但是,这并没有给我具体的Facebook登录错误。 No permissions
Auth.auth().addStateDidChangeListener({ (auth, user) in
//
})
class Coordinator: NSObject, LoginButtonDelegate {
func loginButton(_ loginButton: FBLoginButton, didCompleteWith result: LoginManagerLoginResult?, error: Error?) {
if error != nil {
// print(error?.localizedDescription)
return
}
if let currentAccessToken = AccessToken.current {
let credential = FacebookAuthProvider.credential(withAccessToken: currentAccessToken.tokenString)
Auth.auth().signIn(with: AuthCredential) { (AuthDataResult?, Error?) in
// pass AuthDataResult and Error to view
}
}
}
func loginButtonDidLogOut(_ loginButton: FBLoginButton) {
try? Auth.auth().signOut()
}
}