porque - no puedo abrir facebook en mi iphone
Cierre de sesiĆ³n de Facebook en la aplicaciĆ³n usando Facebook ios SDK (5)
He integrado el inicio de sesión de Facebook en mi aplicación y, por lo tanto, el usuario puede iniciar sesión tanto con mi cuenta de la aplicación como con Facebook y realizar las acciones correspondientes. Para la integración de Facebook, he agregado Facebook SDK. Ahora cuando se hace clic en mi aplicación, debe borrar todo credenciales de la cuenta de Facebook. He ido 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 botón me redirigen directamente a mi cuenta sin ir a la página de inicio de sesión de Facebook.
¿Cómo puedo desconectarme de Facebook?
Con el nuevo kit de inicio de sesión de Facebook SDK solo escriba 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()
}
En tu postButtonClicked
escribe 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];
}
}
FBSDK está cerrando sesión de esta manera:
[FBSession.activeSession closeAndClearTokenInformation];
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logOut];
Para desconectarse debe intentar esto
puede agregar el botón Cerrar sesión en el Controlador de navegación (esquina superior derecha) en el método viewDidLoad
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithTitle:@"Logout"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(logoutButtonWasPressed:)];
y el método de acción para el botón anterior es
-(void)logoutButtonWasPressed:(id)sender {
[FBSession.activeSession closeAndClearTokenInformation];
}
¡Espero que esto te ayudará!
Editar:
Cuando preguntaste por qué no solicita el nombre de usuario y la contraseña, la razón es:
Cuando integramos Facebook SDK en nuestra aplicación e intentamos iniciar sesión, automáticamente se comprueban dos lugares (para asegurarse de que ya hemos iniciado sesión en Facebook o no)
Antes que nada, verifica si ya hemos iniciado sesión en la aplicación Facebook Native que está instalada en este dispositivo.
luego, verifica si hemos guardado nuestro nombre de usuario y contraseña de FaceBook en la configuración del dispositivo.
Si en ambos lugares no hemos iniciado sesión, se le preguntará a UserName y Password en la aplicación
puede verificar la configuración de la cuenta de Facebook en Configuración del dispositivo como se muestra en la captura de pantalla siguiente,
Presione el botón de inicio -> Configuración -> Facebook
Si usa swift 3 o 4:
var loginManager = LoginManager()
Pegue este código cuando sea necesario realizar alguna acción para cerrar la sesión
loginManager.logOut()