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

Posted

技术标签:

【中文标题】Facebook SDK 4.0 IOS Swift 以编程方式注销用户【英文标题】:Facebook SDK 4.0 IOS Swift Log a user out programmatically 【发布时间】:2015-03-31 16:57:25 【问题描述】:

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

FBSDKLoginButtonDelegate

使用

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

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

FBSDKLoginManager.logOut(<#FBSDKLoginManager#>)

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

【问题讨论】:

【参考方案1】:

好的,这是任何需要帮助的人的东西。 我设法使用 FBSDKLoginManager 实例

注销我的用户

显然,我不知道它是否记录在案 FBSDKLoginManager 手表

FBSDKAccessToken.currentAccessToken()

所以

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

注销用户,我误解了 logOut 不是类函数。

希望对某人有所帮助!

【讨论】:

我从标签栏控制器调用它并返回到我的 rootview 控制器,即我在控制器中的登录。当我返回此登录视图控制器时,我看到日志“用户已注销”,因此注销工作但我正在进入函数 login didCompleteWithResult。知道为什么吗? 确保您没有在您的 loginViewController 中调用 viewDidAppear 中的登录功能,只有在触发登录操作时才应调用此 didCompeleteWithResult 块!如果这没有帮助在此处粘贴代码 该控制器的 viewdidappear 中没有任何代码。我们可以开始聊天吗? 如果你想聊天没关系,请创建房间。 import FBSDKLoginKit..添加到4.2版本【参考方案2】:

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

FBSDKLoginManager().logOut()

【讨论】:

问题是,如果你调用它,一旦用户尝试再次使用 Facebook 登录,它只会说“你已经授权 App Name”。用户如何退出 Facebook 然后切换帐户? @MarksCode。 ***.com/questions/36368510/… 现在是:LoginManager().logOut()【参考方案3】:

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

LoginManager().logOut()

【讨论】:

【参考方案4】:

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

[[[FBSDKLoginManager alloc] init] logOut];

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

【讨论】:

有点丑是吧? 您可以添加一个临时变量来保存 LoginManager 以便稍后调用 logOut。但如果我只想注销,这是最短的方法。在我看来,LoginManager 应该被实现为一个单例类(因为最后是以这种方式工作的),然后调用 [[FBSDKLoginManager shared instance] logOut]。【参考方案5】:

另外,如果您使用 ParseFacebook iOS SDK 版本 >= 4.4.0 通过 Facebook 注册或登录用户strong>,请改用:

PFUser.logOut()

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

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

【讨论】:

以上是关于Facebook SDK 4.0 IOS Swift 以编程方式注销用户的主要内容,如果未能解决你的问题,请参考以下文章

iOS Facebook sdk 4.0 分享图片

适用于 iOS 4.0 的 Facebook sdk

Facebook SDK 4.0 iOS 不再快速切换到设备上安装的 Facebook APP

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

Facebook iOS SDK 4.0“App Invites”在没有 iOS 通知的情况下发送

如何使用 Facebook iOS SDK 4.0 获取包含用户名和 ID 的用户好友列表