我有一个类似于
的应用程序登录页面Login in Gmail
Login with email
Login with Facebook
当您进入应用程序时,会出现一个注销按钮,该按钮将执行此功能
func signOut(completion:(Error) -> Void){
for id in providerData!{
switch(id.providerID){
case("google.com"):
GIDSignIn.sharedInstance().signOut()
GIDSignIn.sharedInstance()?.disconnect()
case("facebook.com"):
let loginManager = LoginManager()
loginManager.logOut()
default: continue
}
}
do {
try Auth.auth().signOut()
}catch let logoutError {
completion(logoutError)
}
}
退出后,用户将返回登录页面,但是如果他们使用Facebook登录,facebook按钮仍显示注销。如果单击注销,该按钮将再次变为Login with Facebook
并且可以正常工作,但我只希望注销部分永远不会出现。我只希望它成为登录按钮。
This answer说了一些有关删除访问令牌的内容,但看起来正确的语法已经改变,这就是他们写的。
FBSDKAccessToken.setCurrentAccessToken(nil)
FBSDKProfile.setCurrentProfile(nil)
似乎FBSDKAccessToken
已更改为AccessToken
,但我不知道等效功能是什么。
因此,似乎仅在某些时候出现此问题。我不知道为什么,但是有时我在应用程序上注销Facebook时,按钮显示“ Continue with Facebook”(继续使用Facebook),有时显示“ Logout”(退出)