Estoy tratando de cerrar la sesión de Facebook mediante programación sin necesidad de utilizar FBSDKLoginButton
tuve la búsqueda de cómo podría hacerlo
he encontrado esta respuesta Podemos cerrar sesión de facebook a través de programación
pero el problema es el FBSession está en desuso en el nuevo iOS FBSDK versión

mi pregunta es
Hay alguna forma de borrar el fb de la sesión en el nuevo iOS FBSDK versión? si hay alguna manera de cerrar la sesión de Facebook mediante programación?
o ¿cómo me he de llamar a la desconexión de la acción de FBSDKLoginButton

Agradeciendo de antemano
🙂

InformationsquelleAutor Ahd Radwan | 2015-04-14

5 Comentarios

  1. 87

    Tienes dos métodos para cerrar la sesión.
    En primer lugar, como se sugiere por el Inder Kumar Rathore

    FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
    [loginManager logOut];

    Segunda es mediante el establecimiento de la currentAccessToken a nil

    [FBSDKAccessToken setCurrentAccessToken:nil];

    @cookiemonsta esperanza de segundo método que funciona para usted.

    • También debe llamar a: [FBSDKProfile setCurrentProfile:nil] porque logOut llama demasiado. Se explica aquí: developers.facebook.com/docs/reference/ios/current/class/…
    • Sí, dulce! Gracias 🙂
    • Gracias hombre, que es lo que yo llamo una respuesta 🙂
    • ¿cerrar la sesión de Facebook? puedes publicar la respuesta en swift? por favor me ayudan
    • Facebook llama internamente [FBSDKAccessToken setCurrentAccessToken:nil] en logout método, no es necesario llamar explícitamente. Se menciona en este doc: developers.facebook.com/docs/reference/ios/current/class/…
    • Veo cómo la función funciona, pero supongo que es un poco extraño que necesitamos para crear la instancia. Por qué no implementar un método estático. setCurrentAccessToken y setCurrentProfile son estáticas, como bien =)

  2. 8

    FBSDKLoginManager es su necesidad, se ha logOut método, pero usted tendrá que utilizar su de inicio de sesión personalizado

    por ejemplo,

    FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
    [loginManager logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
      if (error) {
        //Process error
      } else if (result.isCancelled) {
        //Handle cancellations
      } else {
        //If you ask for multiple permissions at once, you
        //should check if specific permissions missing
        if ([result.grantedPermissions containsObject:@"email"]) {
          //Do work
        }
      }
    }];
    
    //then logout
    [loginManager logOut];
    • Es allí cualquier manera sin FBSDKLoginManager? Yo sin embargo estoy usando FBSDKLoginButton!
    • No podía encontrar ninguna documentación para que
    • gracias esta es también una solución, sin embargo, yo prefiero hacerlo sin FBSDKLoginManager
  3. 7

    Swift versión:

    FBSDKLoginManager().logOut()

    Puede utilizar FBSDKLoginManager incluso si usted se registró con FBSDKLoginButton.

  4. 3

    Para Swift 3 y 4

    Me gustaría utilizar el código mencionado por aquí,
    Cómo cerrar la sesión de usuario usando Facebook autenticación mediante el uso de Swift y iOS?

    donde HardikDG mencionado una buena respuesta para cerrar la sesión.
    lo que usted necesita hacer es añadir la siguiente línea antes de que el inicio de sesión de suceder,

    fbLoginManager.loginBehavior = FBSDKLoginBehavior.web

    y mientras logout utilizar a continuación el código

    FBSDKAccessToken.setCurrent(nil)
    FBSDKProfile.setCurrent(nil)
    FBSDKLoginManager().logOut()

    esto funciona a la perfección para mí.

  5. 1

    Swift 3 y Swift 4:

    import FacebookLogin
    import FacebookCore
    
    let loginManager = LoginManager()
    loginManager.logOut()

Dejar respuesta

Please enter your comment!
Please enter your name here