重置 Facebook 令牌参考 - Facebook SDK 4.0
Reset Facebook Token Reference - Facebook SDK 4.0
我之前使用以下方法清除和重置 Facebook 访问令牌
[FBSession.activeSession closeAndClearTokenInformation];
自更新到 4.0 后,此功能不再有效。 FBSession.activeSession
已更改为 [FBSDKAccessToken currentAccessToken]
。
但是我找不到适用于最新版本的 closeAndClearTokenInformation 的最新版本。有什么建议吗?
FBSDKLoginManager *logMeOut = [[FBSDKLoginManager alloc] init];
[logMeOut logOut];
或
[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
注销
然后当您再次登录时,请务必设置:
login.loginBehavior = FBSDKLoginBehaviorWeb;
像这样:
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithReadPermissions:@[@"user_friends"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
etc...
}];
我在文档中发现一些信息说 FBSDKLoginBehaviorWeb 可用于 "kiosk" 个应用程序;我猜这些应用程序是设计用来让不止一个人定期登录的。
需要注意的一点是,此登录方法创建了一个模式 UIWebView,它设置为纵向模式。我不确定是否可以更改它。
Swift 2+ 简单的解决方案
FBSDKLoginManager().logOut()
Swift 5+ 简单的解决方案
LoginManager().logOut()
在 swift 中,您可能需要执行以下操作以完全关闭会话:
import FacebookCore
import FacebookLogin
//...
//in your method:
let fbLoginManager = LoginManager()
fbLoginManager.logOut()
AccessToken.current = nil
UserProfile.current = nil
我之前使用以下方法清除和重置 Facebook 访问令牌
[FBSession.activeSession closeAndClearTokenInformation];
自更新到 4.0 后,此功能不再有效。 FBSession.activeSession
已更改为 [FBSDKAccessToken currentAccessToken]
。
但是我找不到适用于最新版本的 closeAndClearTokenInformation 的最新版本。有什么建议吗?
FBSDKLoginManager *logMeOut = [[FBSDKLoginManager alloc] init];
[logMeOut logOut];
或
[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
注销
然后当您再次登录时,请务必设置:
login.loginBehavior = FBSDKLoginBehaviorWeb;
像这样:
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithReadPermissions:@[@"user_friends"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
etc...
}];
我在文档中发现一些信息说 FBSDKLoginBehaviorWeb 可用于 "kiosk" 个应用程序;我猜这些应用程序是设计用来让不止一个人定期登录的。
需要注意的一点是,此登录方法创建了一个模式 UIWebView,它设置为纵向模式。我不确定是否可以更改它。
Swift 2+ 简单的解决方案
FBSDKLoginManager().logOut()
Swift 5+ 简单的解决方案
LoginManager().logOut()
在 swift 中,您可能需要执行以下操作以完全关闭会话:
import FacebookCore
import FacebookLogin
//...
//in your method:
let fbLoginManager = LoginManager()
fbLoginManager.logOut()
AccessToken.current = nil
UserProfile.current = nil