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】:另外,如果您使用 Parse 和 Facebook iOS SDK 版本 >= 4.4.0 通过 Facebook 注册或登录用户strong>,请改用:
PFUser.logOut()
它将注销用户,删除 Parse 后端的会话(不要忘记通过 Parse 应用设置enable Parse revocable session),此外它还会删除写入用户设备磁盘上的 Facebook 会话。
希望这个回答对大家有所帮助。
【讨论】:
以上是关于Facebook SDK 4.0 IOS Swift 以编程方式注销用户的主要内容,如果未能解决你的问题,请参考以下文章
Facebook SDK 4.0 iOS 不再快速切换到设备上安装的 Facebook APP
Facebook SDK 4.0 IOS Swift 以编程方式注销用户