如何从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.h
和m
文件中添加下面的方法。
- (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];