2014-03-05 4 views
0

최신 페이스 북 SDK를 사용하고 있습니다. 성공적으로 로그 아웃 한 후 루트 viewcontroller에 팝업해야합니다.하지만 다시 로그인 할 때 페이스 북에서 실제로 로그 아웃하지 않습니다. 쿠키를 삭제하거나 다른 작업을 수행해야합니다. 여기에 내 코드페이스 북을 로그 아웃하고 쿠키를 삭제하는 방법

- (void)viewDidLoad 
{ 

    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] 
              initWithTitle:@"Logout" 
              style:UIBarButtonItemStyleBordered 
              target:self 
              action:@selector(logoutButtonWasPressed:)]; 

    [super viewDidLoad]; 

} 

-(void)logoutButtonWasPressed:(id)sender 
    { 

    [FBSession.activeSession closeAndClearTokenInformation]; 

    [self.navigationController popViewControllerAnimated:YES]; 

    } 

답변

0

이 시도 할 수 있습니다 :

NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
     NSArray* facebookCookies = [cookies cookiesForURL: 
            [NSURL URLWithString:@"http://login.facebook.com"]]; 
     for (NSHTTPCookie* cookie in facebookCookies) { 
      [cookies deleteCookie:cookie]; 
     } 

쿠키는 당신이 NSUserDefault 데이터를 삭제하여 명확 쿠키도 NSUserDefaults에 있습니다 저장됩니다.

는 편집 :

"모바일 사파리의 쿠키 SDK 애플리케이션에서 액세스 할 수없는 그리고 각각의 SDK 응용 프로그램이 제공된다.

당신이 여기에 응용 프로그램에서 사파리의 쿠키를 삭제하려면 그 답이다 자체 WebKit 캐시 및 쿠키 저장소를 제공하므로 쿠키는 동일한 응용 프로그램 내에서 유지되지만 응용 프로그램 간에는 액세스 할 수 없습니다. "

+0

나는 어떤 행운을 시도하지만. –

+0

내 편집보기 :) :) – Rashad

+0

@ user3382857 >> 문제를 해결 했습니까? – Rashad

0

.m에 나는

이 달성되지 ... 당신이하고자하는 것은 진열 및 물건 등을 할 권한을 묻는 페이스 북의 초기 흐름이라고 생각 로그 아웃하십시오.

FaceBook에 로그인하고 앱 설정으로 이동하여 거기에서 권한을 제거하면됩니다. 당신이 UIWebView에서 쿠키를 삭제하려면

+0

예 페이스 북을 사용하여 권한을 요청하고 있습니다. 더 자세히 설명해주십시오.> FaceBook에 로그인하여 앱 설정으로 들어가서 거기에서 권한을 제거합니다. –

+0

앱에서 로그 아웃하고 쿠키를 삭제하면 휴대 전화에서만 쿠키가 삭제됩니다. Facebook은 여전히 ​​서버에 권한을 저장합니다. – Fogmeister

0

코드가 정확합니다. closeAndClearTokenInformation 메소드를 사용하여 로그 아웃하십시오. 사용자가 Safari를 사용하여 Facebook에 로그인 한 경우 실제로 세션이 캐시 된 상태로 유지 될 수 있습니다. 로그 아웃 방법에서 쿠키를 제거해보십시오.

-(void)logoutButtonWasPressed:(id)sender 
{ 
    [FBSession.activeSession closeAndClearTokenInformation]; 

    // Clear the cookies. 
    for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) 
    { 
     [storage deleteCookie:cookie]; 
    } 

    [[NSUserDefaults standardUserDefaults] synchronize]; 

    [self.navigationController popViewControllerAnimated:YES]; 
} 
+0

그것의 작동하지 않는다, 나는 사용자 로그인 때마다 로그인 팝업을 보여줄 필요가있다. 그러나 아직도 운이 없다. .. –

관련 문제