-1

是否可以在应用程序中实现 Facebook 注销功能?我正在使用最新的 Facebook SDK (3.1)

4

5 回答 5

2

您可以在应用程序内注销,因为它适用于单点登录。

于 2013-02-12T11:24:22.883 回答
0

用它来注销

    [[NSUserDefaults standardUserDefaults] setValue:nil forKey:@"FBAccessTokenKey"];
    [[NSUserDefaults standardUserDefaults] setValue:nil forKey:@"FBExpirationDateKey"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"SignInWithFaceBokk"];
    [[NSUserDefaults standardUserDefaults] setObject:nil  forKey:@"selectedUSAState"];

    NSHTTPCookie *cookie;
    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (cookie in [storage cookies])
    {
        NSString* domainName = [cookie domain];
        NSRange domainRange = [domainName rangeOfString:@"facebook"];
        if(domainRange.length > 0)
        {
            [storage deleteCookie:cookie];
        }
    }
于 2013-02-12T11:36:48.537 回答
0

我假设您已经将 facebook 框架添加到您的项目中,并且

#import <FacebookSDK/FacebookSDK.h> 

在您正在使用的视图控制器中.. 并添加

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [[FBSession activeSession] handleOpenURL:url];
}

如果您完成了所有操作,则发送给您的应用程序委托,然后制作一个带有操作的按钮并调用:

[FBSession.activeSession closeAndClearTokenInformation];

应该做的工作。

于 2014-05-07T17:03:40.190 回答
0
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"FBAccessTokenKey"];

[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"FBExpirationDateKey"];

只有两条线对我有用...

于 2014-11-25T08:30:49.883 回答
0
if (FBSession.activeSession.isOpen)
    {
        [FBSession.activeSession closeAndClearTokenInformation];
    }
于 2013-02-12T11:10:27.387 回答