sesion mini como cerrar iphone ios facebook facebook-graph-api

iphone - mini - como cerrar sesion en facebook en ipad



Cerrar la sesiĆ³n de Facebook en Facebook-Ios-Sdk (3)

Después de llamar

[FBSession.activeSession closeAndClearTokenInformation];

use following para borrar las cookies. ¡Funcionó para mí!

NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie* cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) { [cookies deleteCookie:cookie]; }

Cómo cierro una sesión activa del Facebook-iOS-Sdk cada vez que inicio mi aplicación después de matar la aplicación, me da los detalles de la sesión de inicio de sesión anterior. Cuando hago clic en el botón de Facebook. He usado todo [appDelegate.session closeAndClearTokenInformation]; [FBSession.activeSession close]; [FBSession.activeSession closeAndClearTokenInformation] pero la sesión activa aún no se ha cerrado ... ¿cómo cierro los datos de la sesión anterior al hacer clic en.

Utilizo el siguiente código para borrar, pero cada vez que hago clic en el botón de Facebook para iniciar una nueva sesión ... me devuelve las credenciales anteriores.

- (IBAction)buttonClickHandler:(id)sender { appDelegate = [[UIApplication sharedApplication]delegate]; // this button''s job is to flip-flop the session from open to closed if (appDelegate.session.isOpen) { [appDelegate.session closeAndClearTokenInformation]; [FBSession.activeSession close]; [FBSession.activeSession closeAndClearTokenInformation]; FBSession.activeSession=nil; } else { if (appDelegate.session.state != FBSessionStateCreated) { // Create a new, logged out session. appDelegate.session = [[FBSession alloc] init]; } // if the session isn''t open, let''s open it now and present the login UX to the user [FBSession.activeSession closeAndClearTokenInformation]; FBSession.activeSession=nil; [FBSession.activeSession openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { // and here we make sure to update our UX according to the new session state NSLog(@" state=%d",state); [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id<FBGraphUser> user, NSError *error) { userInfo = @""; // Example: typed access (name) // - no special permissions required userInfo = user.username; NSLog(@"string %@", userInfo); [self checkfacebook]; }]; }]; } }

y en ViewDidLoad

- (void)viewDidLoad { [super viewDidLoad]; AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate]; if (!appDelegate.session.isOpen) { // create a fresh session object appDelegate.session = [[FBSession alloc] init]; if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded) { // even though we had a cached token, we need to login to make the session usable [FBSession.activeSession close]; FBSession.activeSession=nil; } } NSHTTPCookieStorage* cookies = [NSHTTPCookieStorage sharedHTTPCookieStorage]; NSArray* facebookCookies = [cookies cookiesForURL:[NSURL URLWithString:@"http://login.facebook.com"]]; for (NSHTTPCookie* cookie in facebookCookies) { [cookies deleteCookie:cookie]; } }


Hola Christien puede estar debajo de dos enlaces de su ayuda, por favor refurrad este enlace de developers.facebook

http://developers.facebook.com/docs/reference/ios/3.0/class/FBSession/

http://developers.facebook.com/docs/reference/ios/3.0/class/FBSession/#close

[FBSession.activeSession closeAndClearTokenInformation]; [FBSession.activeSession close]; [FBSession setActiveSession:nil];

También puedes consultar esta dos preguntas relacionadas con tu problema:

Facebook api log out no funciona

Facebook iOS SDK 3.1.1 método "closeAndClearTokenInformation" no funciona

espero que te ayude


La respuesta Gohel de Nitin, versión Swift:

FBSession.activeSession().closeAndClearTokenInformation() FBSession.activeSession().close() FBSession.setActiveSession(FBSession())

puedes usar

FBSession.setActiveSession(nil)

Pero la función pide un objeto desenvuelto, por lo que "nil" parece no ser un buen parámetro para pasar