【问题标题】:Unable to logout from Facebook using Facebook SDK 3.5 in iOS无法在 iOS 中使用 Facebook SDK 3.5 从 Facebook 注销
【发布时间】:2013-04-12 11:34:48
【问题描述】:

我目前在我的原生 iOS 应用程序中使用 Facebook SDK 3.5 进行 Facebook 登录。我已经参考了示例iOS codes by facebook 并以相同的方式实现了我的登录。在注销过程之前一切正常。我可以从 FB 退出,但 不能 完全退出。当我再次点击登录按钮时,FB 再次显示带有我的凭据的网页,并要求我使用相同的凭据登录。我听说有人说这是 Safari 的问题,所以我手动删除了所有 Safari cookie 并尝试再次登录,但无济于事。有没有其他方法可以做到这一点?我还向 SOF 推荐了解决方案并实施了下面列出的答案,但它们也没有奏效。

Login Logout issue with facebook iOS sdk

Logout facebook sdk 3.08

编辑 - 发布 Facebook 应用页面的设置选项卡屏幕截图

【问题讨论】:

  • 如果您只是使用 fb 进行分享,请尝试使用 sharekit。 getsharekit.com
  • 我正在使用 FB 获取用户凭据,例如姓名、电子邮件、个人资料图片等...
  • @AforAlpha 你能解决这个问题吗

标签: ios facebook ios6


【解决方案1】:

虽然我没有使用 Facebook SDK,但我使用了第三方 SDK Socialize,并且在 Facebook 注销时遇到了同样的问题。我无法注销,即使我注销了,当我尝试重新登录时,它也会显示我的凭据。

我遵循以下步骤,与您使用的 SDK 无关(无论是 sharekit、socialize 还是原生 facebook sdk)

Ref Question on SO

1.在facebook应用程序的高级设置中,我启用了本地/桌面应用程序

2.在基本设置中禁用 SSO/DeepLinking --> 原生 iOS 应用。以前有不同的选项,但现在只提供 DeepLinking。

3.提前设置添加de-auth回调url。它可以是任何东西[例如。 http://google.com]

4.在用户点击退出按钮的地方添加如下代码:

NSHTTPCookie *cookie;
    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (cookie in [storage cookies])
    {
     NSString* domainName = [cookie domain];
     NSRange domainRange = [domainName rangeOfString:@"facebook"];
     if(domainRange.length > 0)
      {
        [storage deleteCookie:cookie];
      }
    }

希望对你有帮助

【讨论】:

  • +1 为答案。我之前做过,但似乎忘记了!
  • 很高兴知道我的回答对您有帮助。希望这对@AforAlpha 也有帮助。
  • 抱歉回复延迟。我是 FB 集成的新手。您能否向我提供有关 SSO 和取消身份验证回调的更多信息,以及我应该在哪里添加此代码...我已使用 Facebook 应用程序设置页面的屏幕截图更新了问题。我无法在我的设置页面中找到 SSO 选项。除此之外应该是什么去授权回调URL??
  • @AforAlpha 我对我的回答做了一些修改。请看一看。
  • @AforAlpha 你试过这个解决方案吗?你能提供一个更新吗?
猜你喜欢
  • 2012-09-11
  • 2011-09-17
  • 1970-01-01
  • 2011-05-19
  • 2015-08-30
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
相关资源
最近更新 更多