Facebook SDK 4.0 IOS Swift 以编程方式注销用户

Facebook SDK 4.0 IOS Swift Log a user out programmatically

在我的应用程序中的某些情况下,我需要注销用户,但我的视图控制器中只有 FBSDKLoginButton 实例并实现

FBSDKLoginButtonDelegate

使用

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!)

我想在用户注销后弹出登录视图(破坏 Facebook 会话) 不知道怎么用

FBSDKLoginManager.logOut(<#FBSDKLoginManager#>)

我在 UIViewController 内部工作并通过插座引用 FBSDKLoginButton

好的,这是为任何需要帮助的人准备的东西。 我设法使用 FBSDKLoginManager instance

将我的用户注销

显然,我不知道它是否被记录在案 FBSDKLoginManager watches

FBSDKAccessToken.currentAccessToken()

所以

let loginManager = FBSDKLoginManager()
loginManager.logOut() // this is an instance function 

注销用户,我误以为 logOut 不是 class 函数。

希望对某人有所帮助!

做同样的事情,但在 Objective-C:

[[[FBSDKLoginManager alloc] init] logOut];

不要忘记导入:FBSDKCoreKit/FBSDKCoreKit.h & FBSDKLoginKit/FBSDKLoginKit.h

此外,如果您已经使用 ParseFacebook iOS SDK 版本 >= 4.4.0 进行注册或通过 Facebook 登录用户,请改用:

PFUser.logOut()

它将注销用户,删除 Parse 后端的会话(不要忘记通过您的 Parse 应用程序设置 enable Parse revocable session),加上它还将删除写入用户设备磁盘上的 Facebook 会话。

希望这个回答对大家有所帮助

Swifty 和像我这样懒惰的人的简单答案:

FBSDKLoginManager().logOut()

对于Swift 3,Facebook SDK 4.16.0:使用Facebook Swift SDK

LoginManager().logOut()