facebook login - FBSDKLoginManager con FBSDKLoginBehaviorWeb falla con el error "No se ha iniciado sesiĆ³n"
facebook-login facebook-ios-sdk (1)
Tenía este mismo error ... parece que el problema se encuentra en la configuración de su esquema de URL info.plist: SDK de Facebook: la aplicación no está registrada como un esquema de URL
Sin embargo, al agregar estas pistas a la aplicación, se envía a la aplicación de Facebook real para la autenticación, en lugar de mostrar el modo de inicio de sesión en su propia aplicación.
** ACTUALIZACIÓN **
Disculpe, hablé demasiado pronto ... los cambios anteriores ayudarán a mejorar las cosas (o cambiarán el flujo de usuarios de maneras que usted no quiere), pero lo que realmente necesitaba que sucediera (y esto es lo único), fue simplemente agregar una "Plataforma iOS" (u otra) para la configuración de su aplicación en el portal de desarrolladores de Facebook. Esto es lo que lo hizo por mí de todos modos. :)
Algo debe haber cambiado recientemente en los servidores de Facebook con respecto a cómo procesan las solicitudes de inicio de sesión porque esto solía estar funcionando perfectamente y se detuvo repentinamente.
(Estamos usando FBSDKLoginManager.loginBehavior = FBSDKLoginBehaviorWeb
debido a cómo nuestra aplicación se replica para múltiples marcas (una base de código, muchas aplicaciones) y los problemas que encontramos al iniciar sesión de forma nativa).
De todos modos, esto es lo que vemos ahora cuando intentamos presentar una vista web de inicio de sesión al usuario ( antes de que incluso le permita intentar iniciar sesión):
(No ha iniciado sesión: No ha iniciado sesión. Inicie sesión e inténtelo de nuevo).
Este es el código que estamos usando para presentar la vista de inicio de sesión:
NSString *const publish_actions = @"publish_actions";
FBSDKLoginManager* login = [FBSDKLoginManager new];
login.loginBehavior = FBSDKLoginBehaviorWeb;
[login logInWithPublishPermissions:@[publish_actions] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
[FBSDKAccessToken setCurrentAccessToken:result.token];
// ...
}];
También tenga en cuenta que este problema no es específico de iOS. Nuestra aplicación para Android está viendo lo mismo (y una vez más, solía funcionar bien hasta hace poco).