2013-07-06 11 views
8
FHSTwitterEngine *engine = [FHSTwitterEngine sharedEngine]; 
[engine clearAccessToken]; 

Ho provato sopra il codice ma quando provo ad accedere di nuovo, i campi di testo non compaiono in presentModalViewController, mostra il pulsante Autorizza app.Come uscire completamente da FHSTwitterEngine in Twitter Rest API v1.1?

C'è un altro metodo, [engine clearConsumer]; che i risultati Select and Copy the PIN in presentModalViewController

risposta

12

Credo cookie esiste ancora, questo è il problema principale con la maggior parte delle API di Twitter su iOS.

Questo è come è possibile verificare la presenza di tutti i cookie, mettere un assegno in mezzo per cancellare twitter solo i cookie in cui si sta eseguendo un'operazione di logout su twitter:

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

Speranza che aiuta.

saluti,

Reno Jones

+1

Ha funzionato !!! con sotto il codice interno per in if ([[ogni valoreForKey: @ "dominio"] isEqualToString: @ ". twitter.com"]) { [cookieStorage deleteCookie: each]; } Grazie amico .. –

+0

Bello, felice ha funzionato per voi. :) –

+0

Grazie ha funzionato per me .. –

4

Aggiungere di seguito metodo FHSTwitterEngine.h e m file.

- (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: Utilizzare questi metodo come questi:

[[FHSTwitterEngine sharedEngine] logout];