Cierre de session de Facebook en la aplicación utilizando Facebook ios SDK

He integrado el inicio de session de Facebook en mi aplicación y, por lo tanto, el usuario puede iniciar session con mi count de la aplicación y también con Facebook y hacer las acciones correspondientes. Para la integración de Facebook, agregué Facebook SDK. Ahora, cuando se hace clic en Cerrar session en mi aplicación, cnetworkingenciales de la Cuenta de Facebook. Me he dirigido a:

-(IBAction)btnlogOutClicked:(id)sender { [appDelegate fbDidlogout]; } -(void)fbDidlogout { FBSession* session = [FBSession activeSession]; [session closeAndClearTokenInformation]; [session close]; [FBSession setActiveSession:nil]; } 

Pero cuando vuelvo a hacer clic en el button, me vuelvo a dirigir directamente a mi count sin ir a la página de inicio de session en Facebook.

¿Cómo puedo cerrar session de Facebook?

Usando el nuevo kit de inicio de session del SDK de Facebook, simplemente escribe debajo de la línea y eso es todo …

 [[FBSDKLoginManager new] logOut]; 

Si usa swift, asegúrese de tener las importaciones necesarias

 import FBSDKLoginKit func logout() { FBSDKLoginManager().logOut() } 

Para cerrar session deberías probar esto

puede agregar el button Cerrar session en el Controlador de navigation (esquina superior derecha) en el método viewDidLoad

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

y el método de acción para el button agregado anterior es

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

¡Espero que esto te ayudará!

Referencia

Editar:

Como le preguntaste por qué no solicita Nombre de usuario y Contraseña, entonces la razón es:

Cuando integramos Facebook SDK en nuestra aplicación e intentamos iniciar session, comtesting automáticamente dos lugares (para asegurarte de que ya hemos iniciado session en Facebook o no)

  1. Primero, comtesting si ya hemos iniciado session en la aplicación nativa de Facebook que está instalada en este dispositivo.

  2. Luego Verifica si hemos guardado nuestro nombre de usuario y contraseña de FaceBook en la configuration del dispositivo.

Si ambos lugares no hemos iniciado session, preguntará UserName y Password en la aplicación

puede verificar la configuration de la count de Facebook en la Configuración del dispositivo como se muestra en la siguiente captura de pantalla,

Presione el button Inicio -> Configuración -> Facebook

introduzca la descripción de la imagen aquí

FBSDK está haciendo el cierre de session así:

  [FBSession.activeSession closeAndClearTokenInformation]; FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; [login logOut]; 

En su postButtonClicked escriba lo siguiente si no:

 -(void)postButtonClicked { _session = [[FBSession sessionForApplication:kApiKey secret:kApiSecret delegate:self] retain]; [_session resume]; posting = YES; showSlideShow = 1; if (_facebookName != nil) { [self logoutButtonClicked]; } if (![_session isConnected]) { self.loginDialog = nil; _loginDialog = [[FBLoginDialog alloc] init]; [_loginDialog show]; } else { self.loginDialog = nil; _loginDialog = [[FBLoginDialog alloc] init]; [_loginDialog show]; } }