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 :)
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.
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];
Swift version:
FBSDKLoginManager().logOut()
You can use FBSDKLoginManager
even if you logged in with FBSDKLoginButton
.
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.
Swift 3 and Swift 4:
import FacebookLogin
import FacebookCore
let loginManager = LoginManager()
loginManager.logOut()
来源:https://stackoverflow.com/questions/29623191/logout-from-facebook-programmatically-ios