如何从Twitter Rest API v1.1中完全注销FHSTwitterEngine?

FHSTwitterEngine *engine = [FHSTwitterEngine sharedEngine]; [engine clearAccessToken]; 

我尝试了上面的代码,但是当我尝试再次login时,textfields不会在presentModalViewController显示,它显示Authorize应用程序button。

还有另一种方法, [engine clearConsumer]; 结果在presentModalViewController Select and Copy the PIN

我相信cookies仍然存在,这是iOS上大部分twitter API的主要问题。

这就是你如何检查所有的cookie,在两者之间进行检查,只清除twitter上你在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]; } 

希望能帮助到你。

问候,

里诺琼斯

FHSTwitterEngine.hm文件中添加下面的方法。

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

编辑 :使用这些方法:

 [[FHSTwitterEngine sharedEngine] logout];