我想知道在一个函数调用中是否可以或者是一种可以将2种方法用于注销(Facebook和Google)的方法?我有一个注销按钮,当Facebook用户注销Facebook时,当然还有谷歌用户登录Google时。或者我应该在注销功能中创建一个条件?感谢您的帮助!
// handle sign out function
func handleSignOut() {
let firebaseAuth = FIRAuth.auth()
do {
try firebaseAuth?.signOut()
} catch let signOutError as NSError {
print ("Error signing out: %@", signOutError)
}
// facebook sign out
UserDefaults.standard.setIsLoggedIn(value: false)
FBSDKLoginManager().logOut()
print("did log out of facebook...")
// google sign out
UserDefaults.standard.setIsLoggedIn(value: false)
GIDSignIn.sharedInstance().signOut()
print("did log out of Google...")
if FIRAuth.auth()?.currentUser == nil {
let loginController = LoginController()
present(loginController, animated: true, completion: nil)
}
}
答案 0 :(得分:0)
这样做应该没什么问题,但是你会降低代码的效率,因为Firebase仍会检查其他类型的用户是否签名,即使用户已注销一次。同样,这不应该是一个太大的问题,但好处超过了在函数内部有条件的缺点。无论如何,做条件很容易。