Logout from Facebook programmatically iOS

2019-02-02 21:04发布

I am trying to logout from Facebook programmatically without using FBSDKLoginButton i had search how could I do i found this answer Can we logout facebook programatically but the problem is the FBSession is deprecated in new iOS FBSDK version

my question is Is there any way to clear the fb session in the new iOS FBSDK version? if there any way to logout from Facebook programmatically? or how could I call the logout action from FBSDKLoginButton

Thanking in advance :)

5条回答
Viruses.
2楼-- · 2019-02-02 21:21

Swift 3 and Swift 4:

import FacebookLogin
import FacebookCore

let loginManager = LoginManager()
loginManager.logOut()
查看更多
戒情不戒烟
3楼-- · 2019-02-02 21:22

You have two methods to logout. First, as suggested by Inder Kumar Rathore

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logOut];

Second is by setting the currentAccessToken to nil

[FBSDKAccessToken setCurrentAccessToken:nil];

@cookiemonsta hope second method works for you.

查看更多
beautiful°
4楼-- · 2019-02-02 21:23

FBSDKLoginManager is your need, it has logOut method but you might have to use your custom login

e.g.

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
  if (error) {
    // Process error
  } else if (result.isCancelled) {
    // Handle cancellations
  } else {
    // If you ask for multiple permissions at once, you
    // should check if specific permissions missing
    if ([result.grantedPermissions containsObject:@"email"]) {
      // Do work
    }
  }
}];

//then logout
[loginManager logOut];
查看更多
\"骚年 ilove
5楼-- · 2019-02-02 21:24

Swift version:

FBSDKLoginManager().logOut()

You can use FBSDKLoginManager even if you logged in with FBSDKLoginButton.

查看更多
女痞
6楼-- · 2019-02-02 21:26

For Swift 3 and 4

I would like to use the code mentioned over here, How to logout user using Facebook authentication using Swift and iOS?

where HardikDG mentioned a good answer for logout. what you need to do is add below line before the login happen,

fbLoginManager.loginBehavior = FBSDKLoginBehavior.web

and while logout use below code

FBSDKAccessToken.setCurrent(nil)
FBSDKProfile.setCurrent(nil)
FBSDKLoginManager().logOut()

this works perfectly for me.

查看更多
登录 后发表回答