1

I followed graph API and all has gone well till now. The problem occurs when I try to logout from facebook. The logout never occurs: I have used this method:

    [facebook logout];

I have implemented the delegate method:

    - (void) fbDidLogout {

NSLog(@"did logout");

// Remove saved authorization information if it exists
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]) {
    [defaults removeObjectForKey:@"FBAccessTokenKey"];
    [defaults removeObjectForKey:@"FBExpirationDateKey"];
    [defaults synchronize];
}

}

Problem is that user is logined again when he run the application again. I want that each time I enter facebook screen, new user should login. However this method doesnt work. Please help

user1374408
  • 321
  • 1
  • 4
  • 16

3 Answers3

4
- (void)logOutFB {

fbGraph.accessToken = nil;
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];
    }
}
}
Warif Akhand Rishi
  • 23,920
  • 8
  • 80
  • 107
1

Implement the following code

Facebook *fb; //your fbconnect object

if([fb isSessionValid])
{
    fb.accessToken = nil;
    fb.expirationDate = nil;
}
Omar Abdelhafith
  • 21,163
  • 5
  • 52
  • 56
0

Try it :

-(void)fbLogout  {  
    fbGraph.accessToken = nil;  
    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];
        }       }   [NSUserDefaults resetStandardUserDefaults];
    [[NSUserDefaults standardUserDefaults]removeObjectForKey:@"fb_accesstoken"];    fbGraph.accessToken = nil;
    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];
        }
    }  }
Mansi Panchal
  • 2,357
  • 18
  • 27