重置Facebook令牌参考 - Facebook SDK 4.0

mem*_*one 14 objective-c ios facebook-sdk-4.0

我之前使用以下内容清除并重置Facebook访问令牌

[FBSession.activeSession closeAndClearTokenInformation];
Run Code Online (Sandbox Code Playgroud)

由于更新到4.0,这不再有效.FBSession.activeSession已改为[FBSDKAccessToken currentAccessToken].

但是我找不到与最新版本一起使用的最新版本的closeAndClearTokenInformation.有什么建议?

Bri*_*ipp 36

FBSDKLoginManager *logMeOut = [[FBSDKLoginManager alloc] init];
[logMeOut logOut];
Run Code Online (Sandbox Code Playgroud)

要么

[FBSDKAccessToken setCurrentAccessToken:nil];
[FBSDKProfile setCurrentProfile:nil];
Run Code Online (Sandbox Code Playgroud)

注销

然后当您再次登录时,请务必设置:

login.loginBehavior = FBSDKLoginBehaviorWeb;
Run Code Online (Sandbox Code Playgroud)

像这样:

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithReadPermissions:@[@"user_friends"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
         etc...
}];
Run Code Online (Sandbox Code Playgroud)

我在文档中发现了一些信息,说FBSDKLoginBehaviorWeb可以用于"kiosk"应用程序; 我想这些应用程序旨在让不止一个人定期登录.

有一点需要注意,这个登录方法创建了一个为肖像模式设置的模态UIWebView.我不确定是否有可能改变它.


fat*_*han 5

Swift 2+ 简单解决方案

FBSDKLoginManager().logOut()
Run Code Online (Sandbox Code Playgroud)

Swift 5+ 简单解决方案

LoginManager().logOut()
Run Code Online (Sandbox Code Playgroud)

  • `LoginManager()。logOut()`用于最新的快速Facebook Lib (2认同)