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

我尝试了上面的代码,但是当我尝试再次登录时,文本字段没有出现presentModalViewController,它显示授权应用程序按钮。

还有另一种方法 ,[engine clearConsumer];导致Select and Copy the PINpresentModalViewController

4

2 回答 2

12

我相信 cookie 仍然存在,这是 iOS 上大多数 twitter API 的主要问题。

这是您可以检查所有 cookie 的方法,在两者之间进行检查以仅清除您在 twitter 上执行注销操作的 twitter cookie:

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

希望能帮助到你。

问候,

雷诺琼斯

于 2013-07-06T06:02:16.813 回答
4

在文件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];
于 2014-02-17T07:25:36.737 回答