我目前正在使用Facebook SDK 3.5在我的原生iOS应用中登录facebook。我已经引用了示例iOS codes by facebook并以相同的方式实现了我的登录。在注销过程之前一切正常。我可以从FB注销但 NOT 完全注销。当我再次点击登录按钮时,FB再次显示一个带有我的凭据的网页,并要求我使用相同的登录信息。我听说有人说这是Safari的一个问题,所以我手动删除了所有的safari cookie并尝试再次登录,但无济于事。有没有其他方法可以做到这一点?我还提到了SOF的解决方案并实现了下面列出的答案,但它们也没有成功。
Login Logout issue with facebook iOS sdk
编辑 - 显示Facebook应用页面的设置标签屏幕截图
答案 0 :(得分:0)
虽然我没有使用Facebook SDK,但我使用了第三方SDK Socialize,并且面临与Facebook注销相同的问题。我无法退出,即使我这样做了,当我尝试重新登录时,它显示了我的凭据。
我遵循以下步骤,无论您使用的是什么SDK(无论是sharekit,社交还是原生的facebook sdk)
1.在Facebook上的应用程序的高级设置中,我启用了原生/桌面应用程序
2.基本设置中的禁用SSO / DeepLinking - >原生iOS应用。之前曾经有过不同的选项,但现在只提供了DeepLinking。
3.在预先设置中添加de-auth回调网址。它可以是任何东西[例如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];
}
}
希望这有帮助