无法使用Socialize SDK注销Facebook

我使用Socialize SDK代替Sharekit在我的应用程序中集成邮件,推特和Facebook。

我只需要在用户的个人资料上发布一些字符串,这对于Facebook和Twitter工作正常。

以下是工作流程:

  1. 用户点击分享,选择facebook / twitter。

  2. 如果是用户第一次共享,则会弹出facebook / twitter登录屏幕

  3. 用户登录和身份validation后,共享成功。

  4. 如果用户第二次共享,则不会弹出facebook / twitter登录屏幕进行身份validation并且共享成功。

  5. 如果用户想要注销facebook / twitter,他会进入设置面板并点击twitter / facebook按钮退出。

    [当它返回分享后,用户点击Twitter,登录屏幕会弹出,但当用户点击Facebook时,会出现几秒钟的阴影框并消失,用户使用之前的帐户登录。 ]

    我该如何解决这个问题?

我试过用

[SocializeThirdPartyFacebook removeLocalCredentials] and also [SZFacebookUtils unlink]; 

我应该怎么做呢

我尝试清除所有缓存和cookie,但结果仍然相同

  NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray* facebookCookies = [cookies cookiesForURL: [NSURL URLWithString:@"http://login.facebook.com"]]; for (NSHTTPCookie* cookie in facebookCookies) { NSLog(@"In For"); [cookies deleteCookie:cookie]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults removeObjectForKey:kSocializeFacebookAuthAppId]; [defaults removeObjectForKey:kSocializeFacebookAuthLocalAppId]; [defaults removeObjectForKey:kSocializeFacebookStringForAPI]; [defaults removeObjectForKey:kSocializeConsumerKey]; [defaults removeObjectForKey:kSocializeConsumerSecret]; 

Facebook和Twitter SDK在cookie中保存访问令牌。

因此,当您尝试在代码中使用日志记录机制时,必须清除所有缓存和cookie。

我解决了它:

1.在Facebook上的应用程序的高级设置中,我启用了原生/桌面应用程序

2.在基本设置中禁用SSO

3.在预先设置中添加了de-auth回调url

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