使用 Fabric 注销活动的 Twitter 会话
Logout of Active Twitter Session Using Fabric
我已经阅读了关于如何在 Xcode 中为 IOS 使用 Fabric 注销 Twitter 的论坛和建议,但我无法获得 logOut 方法来调用和注销用户当前会话。这是我当前的登录视图控制器代码:
- (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 教程中导入了登录功能,并且运行良好。
我只是无法获得我制作的按钮,该按钮使用 LOGOUT 操作从当前 Twitter 会话中注销用户。我什至尝试清除 cookie 以查看是否可以从内存中清除 Twitter 会话并重置它 - 但没有任何效果。如果有人能帮助我,我将不胜感激 - 谢谢!
仅供参考:请不建议仅[[Twitter sharedInstance] logOut]; .这种方法本身并不能满足我的要求。如果有人能告诉我如何使用 使用 成功注销此方法以及其余过程,那就没问题了。
经过一系列的方法,清除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];
}
}
这个方法有很多,老实说,其中一些可能是无关紧要的,甚至不需要,但是任何需要这个的人都可以弄清楚什么应该留下,什么不应该留下。无论哪种方式,希望这对人们有所帮助 - 它确实帮助了我!
您可以将此简单代码用于 Swift 3:
let store = Twitter.sharedInstance().sessionStore
if let userID = store.session()?.userID {
store.logOutUserID(userID)
}
我已经阅读了关于如何在 Xcode 中为 IOS 使用 Fabric 注销 Twitter 的论坛和建议,但我无法获得 logOut 方法来调用和注销用户当前会话。这是我当前的登录视图控制器代码:
- (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 教程中导入了登录功能,并且运行良好。
我只是无法获得我制作的按钮,该按钮使用 LOGOUT 操作从当前 Twitter 会话中注销用户。我什至尝试清除 cookie 以查看是否可以从内存中清除 Twitter 会话并重置它 - 但没有任何效果。如果有人能帮助我,我将不胜感激 - 谢谢!
仅供参考:请不建议仅[[Twitter sharedInstance] logOut]; .这种方法本身并不能满足我的要求。如果有人能告诉我如何使用 使用 成功注销此方法以及其余过程,那就没问题了。
经过一系列的方法,清除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]; } }
这个方法有很多,老实说,其中一些可能是无关紧要的,甚至不需要,但是任何需要这个的人都可以弄清楚什么应该留下,什么不应该留下。无论哪种方式,希望这对人们有所帮助 - 它确实帮助了我!
您可以将此简单代码用于 Swift 3:
let store = Twitter.sharedInstance().sessionStore
if let userID = store.session()?.userID {
store.logOutUserID(userID)
}