如何在IOS中使用Facebook SDK从Facebook中注销 [英] How to log out from facebook using facebook sdk in IOS

查看:197
本文介绍了如何在IOS中使用Facebook SDK从Facebook中注销的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的应用程序中使用facebook sdk.我完成了用以下简单的Facebook登录:

I use facebook sdk in my app. I done log in with facebook simple like this:

FBLoginView *loginview = [[FBLoginView alloc] initWithPermissions:[NSArray arrayWithObject:@"publish_actions"]];

UIImage *loginImage = [UIImage imageNamed:@"login_facebook_button.png"];

// loginview.backgroundColor = [UIColor redColor];
loginview.frame = CGRectMake(15, 294, loginImage.size.width, loginImage.size.height);

for (id obj in loginview.subviews)
{
    if ([obj isKindOfClass:[UIButton class]])
    {
        UIButton * loginButton =  obj;

        [loginButton setBackgroundImage:loginImage forState:UIControlStateNormal];
        [loginButton setBackgroundImage:nil forState:UIControlStateSelected];
        [loginButton setBackgroundImage:nil forState:UIControlStateHighlighted];
        [loginButton sizeToFit];
    }
    if ([obj isKindOfClass:[UILabel class]])
    {
        UILabel * loginLabel =  obj;
        loginLabel.text = [Lang get:@"SIGN_IN_WITH_FACEBOOK"];
        loginLabel.textAlignment = UITextAlignmentCenter;
        [loginLabel setTextColor:[UIColor colorWithRed:228.0/255.0 green:228.0/255.0 blue:228.0/255.0 alpha:1.0]];
        [loginLabel setShadowColor:[UIColor colorWithRed:127.0/255.0 green:127.0/255.0 blue:127.0/255.0 alpha:1.0]];
        loginLabel.frame = CGRectMake(0, 0, loginImage.size.width, loginImage.size.height);
    }
}

loginview.delegate = self;

[self.view addSubview:loginview];

我已正常登录.但是当我尝试使用此方法注销时

I had logged normally. But when i try to log out using this

[FBSession.activeSession closeAndClearTokenInformation];

我遇到异常,它没有写出实际上是什么错误.此时我的应用崩溃了.

I get exception and it don't write what is actually wrong. My app crash at this point.

但是它实际上清除令牌,因为崩溃后它已注销.

However it actual clears token because after crash it had logged out.

那么我在做什么错了?

谢谢

推荐答案

FBSession* session = [FBSession activeSession];
[session closeAndClearTokenInformation];
[session close];
[FBSession setActiveSession:nil];

NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray* facebookCookies = [cookies cookiesForURL:[NSURL         URLWithString:@"https://facebook.com/"]];

for (NSHTTPCookie* cookie in facebookCookies) {
    [cookies deleteCookie:cookie];
}

这篇关于如何在IOS中使用Facebook SDK从Facebook中注销的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆