2013-07-06 11 views

Odpowiedz

12

wierzę ciasteczka nadal istnieje, to jest poważny problem z większością interfejsów API Twittera na iOS.

W ten sposób można sprawdzić dla wszystkich ciasteczek, umieścić czek w między aby wyczyścić twitter tylko ciasteczka, gdzie wykonujesz operację wylogowania na Twitterze:

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    for (NSHTTPCookie *each in cookieStorage.cookies) { 
     // put a check here to clear cookie url which starts with twitter and then delete it 
     [cookieStorage deleteCookie:each]; 
    } 

Nadzieję, że to pomaga.

Pozdrawiam,

Reno Jones

+1

to działało !!! z poniżej podanym kodem dla w if ([[each valueForKey: @ "domain"] isEqualToString: @ ". twitter.com"]) { [cookieStorage deleteCookie: each]; } Dzięki, kolego .. –

+0

Miło, zadowolony, że udało się. :) –

+0

Dzięki to zadziałało dla mnie .. –

4

Dodaj poniżej metody w FHSTwitterEngine.h i m pliku.

- (void)logout 
{ 
    NSLog(@"Logged out from twitter"); 

    //These is FHSTwitterEngine class method which clears accesstoken 
    [self clearAccessToken]; 

    //clear cache of twitter from NSHTTPCookieStorage 
    NSHTTPCookie *cookie; 
    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    for (cookie in [storage cookies]) 
    { 
    NSString* domainName = [cookie domain]; 
    NSRange domainRange = [domainName rangeOfString:@"twitter"]; 
    if(domainRange.length > 0) 
    { 
     [storage deleteCookie:cookie]; 
    } 
    } 
} 

EDIT: wykorzystać te metody, takie jak:

[[FHSTwitterEngine sharedEngine] logout];