En mi aplicación de iPhone, deseo que el usuario pueda compartir un enlace en Facebook.SDK de Facebook: la ventana emergente de inicio de sesión de iOS6 no puede descartarse
Cuando hacen clic en "compartir", utilizo el siguiente código para iniciar sesión en Facebook utilizando el nuevo SDK 3.1, luego uso FBRequestConnection
en el controlador de finalización (un simple publish_action
).
[FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:true completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
// Now call FBRequestConnection to post in the stream
}];
Cuando el usuario tiene instalada la aplicación de Facebook, simplemente delega el inicio de sesión en la aplicación. Sin embargo, cuando no lo hacen, abre la página de inicio de sesión en un WebView.
En iOS 5, se abre Safari Mobile:
Mi problema es en iOS 6, consigo mismo flujo pero en una ventana emergente modal lugar (en la parte superior de mi aplicación).
tengo 2 problemas con el emergente:
1. cerrándola
No se puede cancelar o despedido. En comparación, la aplicación HelloFacebookSample del SDK tiene la misma ventana emergente pero con un botón cruzado para cerrarla.
NOTA: ahora resueltos gracias a Ravi , me faltaba el paquete de recursos de Facebook, que contiene el "cierre" de la imagen.
2. Aceptación de los permisos
En el segundo paso de la ventana emergente (ver pantallas anteriores), presionando Okay no hacer nada. Presionar la "X" llama al controlador de finalización con un error, que es genial, pero no ocurre nada con Okay. ¿Es esta la manera correcta de iniciar sesión en Facebook con el SDK 3.1? ¿Me falta una devolución de llamada para reaccionar a la ventana emergente específicamente?
Algunas aclaraciones más:
Esto sólo ocurre en iOS6 cuando la aplicación de Facebook es no instalado y la cuenta de Facebook es No configurado en la configuración de IOS .
Gracias!
1 im tener un problema similar después de FB se actualiza a 3.0SDk – iMeMyself
Podría ser un error en el SDK. Solo una nota; Facebook alienta a pedir permisos de publicación cuando realmente está publicando (y no cuando se conecta): http://developers.facebook.com/docs/howtos/ios-6/ –
Gracias Kristofer - por "ejecutar una publicación_acción más adelante" en realidad significa tan pronto como llega la devolución de llamada de inicio de sesión. Creo que debería estar bien – Gromix