2012-09-05 110 views
0

我使用Socialize SDK代替Sharekit,將郵件,推特和臉書整合到我的應用程序中。無法使用Socialize SDK註銷Facebook

我只需要在用戶的個人資料上發佈一些字符串,這對facebook和twitter來說工作正常。

以下是工作流程:

  1. 用戶點擊共享,選擇實/鳴叫聲。

  2. 如果是首次用戶所共享,臉譜/ Twitter的登錄屏幕和驗證後彈出

  3. 用戶登錄,分享成功。

  4. 如果用戶第二次共享,則不會彈出Facebook/Twitter登錄屏幕進行身份驗證,共享成功。

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

回答

0

我解決了它:

1.In Facebook上的應用程序的高級設置,我啓用本機/桌面應用

2.Disabled SSO在基本設置

3.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]; 
     } 
    } 
2

Facebook和Twitter SDK在Cookie中保存訪問令牌。

因此,當您嘗試在代碼中使用日誌機制時,您必須清除所有緩存和Cookie。

+0

澈:提前設置

4.Added下面這段代碼驗證回調URL CK更新的問題,我已經做了你已經提到,但仍然是相同的結果 – madLokesh

+0

我試過FBSession實例和呼叫註銷。 [objSession註銷];這可能會幫助你。 – 2012-09-05 12:29:27

+0

從你在哪裏叫FBSession..in社會化..以及如何? – madLokesh