0

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

facebook iOS sdk的登录注销问题

注销facebook sdk 3.08

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

在此处输入图像描述

4

1 回答 1

0

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

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

关于 SO 的参考问题

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

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

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

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

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];
      }
    }

希望这可以帮助

于 2013-04-19T07:11:30.857 回答