Выход из активной сессии Twitter с помощью Fabric
Я прочитал форумы и предложения о том, как выйти из Twitter в Xcode для IOS с помощью Fabric, но я не могу получить метод выхода для вызова и выхода пользователя из текущей сессии. Вот мой текущий код для контроллера вида входа:
- (IBAction)TESTT:(id)sender {
[[Twitter sharedInstance] logInWithCompletion:^
(TWTRSession *session, NSError *error) {
if (session != nil) {
NSLog(@"signed in as %@", [session userName]);
} else {
NSLog(@"error: %@", [error localizedDescription]);
}
}];
}
- (IBAction)LOGOUT:(id)sender {
[self logOut];
}
- (void)logOut{
[[Twitter sharedInstance] logOut];
}
Я импортировал и имею функциональность входа в систему, хорошо работающую из учебника Fabric.
Я просто не могу получить кнопку, которую я сделал, которая использует действие выхода для выхода пользователя из текущего Twitter сессия. Я даже попытался очистить куки, чтобы посмотреть, может ли это стереть сеанс Twitter из памяти и сбросить его-но ничего. Если бы кто - нибудь мог мне помочь, я был бы очень признателен-спасибо!
К вашему сведению: пожалуйста не предлагайте только [[Twitter sharedInstance] logOut]; . Этот метод сам по себе не делает того, о чем я прошу. Если кто-то может сказать мне, как успешно выйти из системы , используя Этот метод вместе с остальной процедурой, это было бы прекрасно.
2 ответа:
После долгой обширной серии методов, очистки файлов cookie, данных, почти всего, что вы могли бы придумать, я обнаружил, что это на самом деле довольно просто.
Самый простой способ выйти и очистить предыдущий сеанс пользователя выглядит следующим образом:
- перейдите в настройки
- перейдите в свой Twitter и запретите доступ Twitter к вашему приложению (оно должно появиться здесь)
Вернитесь в приложение и вызовите следующий метод:
- (void)twitterLogout:(id)sender { NSUserDefaults *twitterSession = [NSUserDefaults standardUserDefaults]; [twitterSession setObject:0 forKey:@"TwitterSession"]; [twitterSession synchronize]; NSLog(@"Twitter session = %@", twitterSession); [[Twitter sharedInstance] logOut]; [self.view insertSubview:_logoutTwitter atIndex:16]; 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]; } } NSURL *url = [NSURL URLWithString:@"https://api.twitter.com"]; NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url]; for (NSHTTPCookie *cookie in cookies) { [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; } }
В этом есть довольно много метод, и, честно говоря, некоторые из них, вероятно, посторонние и даже не нужны, но любой, кому это нужно, может возиться с тем, что должно и не должно оставаться. В любом случае, надеюсь, это поможет людям - это, безусловно, помогло мне!