2012-07-21 25 views

Respuesta

15

Tuve el mismo problema en la autenticación automática con "com.facebook.sdk error 2". Y creo que lo resolvió de mi parte. Solo asegúrate de que la definición de tu aplicación en "https://developers.facebook.com/apps/ .." en la sección "IOS Bundle ID", que pones el ID de tu aplicación como esta com.domainname.appName y no X792739.com.domainname.appName

+0

Esta es la respuesta correcta. Estaba usando una identificación del paquete desde mi portal de desarrollador (para poder ejecutar en el dispositivo) mientras que la aplicación de Facebook en developer.facebook.com tiene la identificación del paquete del cliente. – Mugunth

+0

I second @Mugunth Esta es la respuesta correcta ... No configuré la aplicación correctamente en Fb.com/apps. Funciona como un encanto ahora. – Ephraim

+0

Mismo problema. Gracias a ti, se ha resuelto ahora. – iOmi

5

Este error se recibe cuando el usuario elige "No permitir" cuando se le pide que otorgue permisos a la aplicación.

Le sugiero que reemplace el mensaje de error predeterminado (copiado del código de muestra del SDK de Facebook) con un mensaje fácil de usar, diciéndole que se asegure de que otorgó a su aplicación los permisos necesarios.

Para solucionar esto en iOS 6, vaya a Configuración -> Facebook y active el interruptor de su aplicación.

+0

¿dónde haces esto exactamente? – ohayon

+0

En 'sessionStateChanged: state: error:' método de devolución de llamada que implementa en su delegado. Si recibe un error, no se lo muestre al usuario, muestre un mensaje que le indique que se asegure de que haya otorgado los permisos necesarios. – Kof

+0

Gracias. Esto funciona. No resuelve el problema, pero al menos me permite informar a los usuarios – honcheng

13

Sí, después de ver este error, si va a Configuración, verá que la configuración de esta aplicación se desactiva. Pero el problema en este caso es que nunca se le solicitó al usuario que permitiera el acceso, es decir, la configuración se desactivaba automáticamente en el primer acceso. Si se le preguntó al usuario, entonces, por supuesto, es comprensible, pero este no es el caso (es como si el SDK presionara de forma silenciosa y automática Do Not Allow para el usuario). Es por eso que esto es un problema.

Antes de seguir leyendo, quiero señalar que una vez que se establece la configuración, no puede simplemente repetir el proceso para probarla, porque una vez establecida la configuración, nunca se lo preguntará al usuario (incluso eliminando y reinstalando la aplicación no ayuda). Para probar este problema, debe restablecer los permisos yendo a Configuración -> General -> Restablecer -> Restablecer ubicación & Privacidad, antes de que pueda tratar de replicar esto nuevamente.

De las pruebas, descubrí que si tiene offline_access en los permisos que está solicitando por primera vez, dará este error de inicio de sesión (y no pedirá al usuario y establecerá el permiso en OFF). El SDK no comprueba y le dice que este permiso no está permitido; simplemente no puede iniciar sesión.

+0

Tuve este problema. Se eliminó el permiso offline_access y restablecí mi ubicación y configuración de privacidad, ¡y funciona! Realmente molesto – Jovan

+0

para mí, el problema era definitivamente pedir offline_access. Después de eliminar eso, el error 2 desapareció. ¡gracias por el consejo! – John

8

Estábamos viendo el com.facebook.sdk error 2 error solo para ciertas personas. El problema terminó siendo que nuestra aplicación de Facebook todavía estaba en Sandbox Mode. Inhabilitando eso al developers.facebook.com/apps/{ourfacebookid} arregló el problema al instante.

Resulta que estaba funcionando para aquellos de nosotros que se configuraron como administradores para la aplicación FB, pero nadie más.

+0

Eso solo me costó 3 horas de depuración, yendo y viniendo en nuestras revisiones. Y ahorraste muchas horas más de lucha, ¡gracias! – mentat

1

Me enfrenté con el mismo problema. Resulta que si el Sandbox está habilitado, los usuarios deberían ser admin. Si está deshabilitado, funciona para todos.

Cuestiones relacionadas