无法使用社交SDK登出的Facebook(Unable To Logout of Facebook

2019-09-22 04:10发布

我使用社交SDK代替Sharekit对邮件,Twitter和Facebook集成在我的应用程序。

我只需要发布用户的个人资料中的字符串,这是工作的罚款,Facebook和Twitter。

以下是工作流程:

  1. 上共享用户点击,选择实/鸣叫声。

  2. 如果是首次用户所共享,脸谱/ Twitter的登录屏幕弹出

  3. 在和认证后的用户日志,分享成功。

  4. 如果用户共享第二次,脸谱/ Twitter的登录屏幕不popsup认证和共享成功。

  5. 如果用户想注销的Facebook / 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];

Answer 1:

Facebook和Twitter SDK保存访问令牌中的cookies。

所以,你必须清除所有缓存和Cookie,当你试图使用日志记录机制在你的代码。



Answer 2:

我解决了它:

1.In Facebook上的应用程序的高级设置,我启用本机/桌面应用

在基本设置2.Disabled SSO

提前设置3.Added DE-auth的回调URL

4.Added下面一段代码:

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


文章来源: Unable To Logout of Facebook using Socialize SDK