Botón Acción en el button de inicio de session click FBConnect API

Estoy usando fbconnect api en mi proyecto. Cuando se abre el dialog de inicio de session donde ingresamos nuestras cnetworkingenciales, cuando hago clic en el button de inicio de session hay algo realizado y se networkingirige a la página de publicación. Mi problema es que no obtengo qué acción se realiza en ese button de inicio de session para que pueda poner un indicador allí.

Adjunto una captura de pantalla para especificar qué button estoy hablando. introduzca la descripción de la imagen aquí

¡Cualquier sugerencia será muy apreciada!

¿Quieres robar las passwords de Facebook de los demás? 🙂

Parece que FBConnect usa UIWebView para cargar las páginas de la web. Esos elementos de formulario no se crean desde el código. Entonces, no puede tener acceso a esos methods / acciones.


Rastreo de la acción del button de inicio de session mediante UIWebViewDelegate :

En webView:shouldStartLoadWithRequest:navigationType: delegate method in FBDialog.m , puede ver la request que se envía desde la vista de inicio de session.

Puede leer la URL utilizando [request.URL absoluteString] . Compruebe si esa URL contiene la cadena https://www.facebook.com/login.php?m=m . Si es , probablemente se esté enviando una request de inicio de session. Puedes hacer tu acción allí.

Nota: No estoy seguro de que esto funcione siempre. Puedes hacer más investigaciones para encontrar una solución mejor.

Cuando presiona el button de inicio de session, la request de inicio de session solo se enviará al server FB. Para get una respuesta, necesita implementar el protocolo FBSessionDelegate:

 /** * Called when the user successfully logged in. */ - (void)fbDidLogin; /** * Called when the user dismissed the dialog without logging in. */ - (void)fbDidNotLogin:(BOOL)cancelled; /** * Called when the user logged out. */ - (void)fbDidLogout; 

Lea también los comentarios en Facebook.m:

  • Inicia un cuadro de dialog que solicita al usuario iniciar session en Facebook y otorgar
  • los permissions solicitados a la aplicación. *
  • Si el dispositivo admite tareas múltiples, usamos el cambio rápido de la aplicación para mostrar
  • el cuadro de dialog en la aplicación de Facebook o, si la aplicación de Facebook no está instalada,
  • en Safari (esto habilita el inicio de session único al permitir múltiples aplicaciones en
  • el dispositivo para compartir la misma session de usuario).
  • Cuando el usuario concede o deniega los permissions, la aplicación que
  • mostró el cuadro de dialog (la aplicación de Facebook o Safari) vuelve a dirigir a
  • la aplicación que llama, pasando la URL del token de acceso
  • y / o cualquier otro parámetro que el backend de Facebook incluya en
  • el resultado (como un código de error si ocurre un error).