如何使用FBSDKLoginButton注销? (因为Facebook假设我已登录,因此出现了奇怪的错误)

时间:2018-02-17 00:32:35

标签: ios swift firebase facebook-login facebook-ios-sdk

当我通过FBSDKLoginButton登录但用户已经使用其他提供商(例如Twitter或Google)验证了他的帐户时,我向他/她显示错误。问题是如果用户再次点击Facebook登录按钮,则会显示以下内容:

enter image description here

我从我的自定义按钮调用FBSDKLogin点击,回调返回错误,这使得更加困惑..如果Facebook识别出身份验证中的错误,为什么会显示注销对话框?

@IBAction func facebookLogin(_ sender: Any) {
    fbLoginButton.sendActions(for: .touchUpInside)
}

func loginButton(_ loginButton: FBSDKLoginButton!, didCompleteWith result: FBSDKLoginManagerLoginResult!, error: Error!) {
    if let error = error {
        // How can I perhaps solve the problem here calling __.logOut()?
        print(error.localizedDescription)
        return
    }

    if let curr = FBSDKAccessToken.current() {
        let credential = FacebookAuthProvider.credential(withAccessToken: curr.tokenString)
        firebaseLogin(credential: credential)
    }
}

2 个答案:

答案 0 :(得分:1)

您也将通过FBSDKLoginManager登录。

退出Firebase时,只需使用FBSDKLoginManager().logOut()退出。

答案 1 :(得分:0)

就这么简单。如果您使用的是最新版本的 import discord from discord.ext import commands bot = commands.Bot(command_prefix = "-") @bot.command() async def test(ctx, number): await ctx.send(number) ,只需调用 LoginManager().logOut()