2012-07-21 9 views

risposta

15

Ho avuto lo stesso problema sull'autenticazione con "com.facebook.sdk error 2". E penso di averlo risolto da parte mia. Assicurati solo sulla definizione della tua app su "https://developers.facebook.com/apps/ .." nella sezione "ID bundle IOS", che inserisci l'ID app in questo modo com.domainname.appName e non X792739.com.domainname.appName

+0

Questa è la risposta corretta. Stavo usando un ID bundle dal mio portale per sviluppatori (in modo che possa essere eseguito sul dispositivo) mentre l'app Facebook su developer.facebook.com ha l'id del bundle del cliente. – Mugunth

+0

I second @Mugunth Questa è la risposta corretta ... Non avevo configurato correttamente l'app su Fb.com/apps. Funziona come un fascino ora. – Ephraim

+0

Stesso problema. Grazie a te, è stato risolto ora. – iOmi

5

Questo errore viene ricevuto quando l'utente sceglie "Non consentire" quando viene richiesto di concedere le autorizzazioni dell'app.

Suggerisco di sostituire il messaggio di errore predefinito (copiato dal codice di esempio di SDK di Facebook) con un messaggio di facile utilizzo, dicendogli di assicurarsi di concedere all'app le autorizzazioni necessarie.

Per risolvere il problema su iOS 6, vai su Impostazioni -> Facebook e attiva l'interruttore della tua app.

+0

dove lo fai esattamente? – ohayon

+0

A 'sessionStateChanged: state: error:' metodo di callback implementato nel delegato. Se si riceve un errore, non mostrarlo all'utente, mostrare un messaggio che gli dice di assicurarsi di aver concesso le autorizzazioni richieste. – Kof

+0

Grazie. Questo funziona. Non risolve il problema, ma almeno mi consente di informare gli utenti – honcheng

13

Sì, dopo aver visto questo errore, se vai su Impostazioni, vedrai che l'impostazione di questa app è "OFF". Ma il problema in questo caso è che all'utente non è mai stato richiesto di consentire l'accesso - ad esempio, l'impostazione è stata disattivata automaticamente al primo accesso. Se l'utente è stato chiesto, ovviamente è comprensibile, ma non è questo il caso (è come se l'SDK fosse premuto silenziosamente e automaticamente Do not Allow per l'utente). Ecco perché questo è un problema.

Prima di leggere ulteriormente, desidero notare che una volta impostata l'impostazione, non è possibile ripetere semplicemente il processo per testarlo, perché una volta impostata l'impostazione, non verrà mai chiesto all'utente (anche eliminando e reinstallando il l'app non aiuta). Per testare questo problema, devi resettare i permessi andando su Impostazioni -> Generale -> Ripristina -> Ripristina posizione & Privacy, prima di provare a replicare di nuovo.

Da test, ho scoperto che se si dispone di offline_access nelle autorizzazioni che si richiedono per la prima volta, verrà visualizzato questo errore di accesso (e non verrà richiesto all'utente e non sarà possibile impostare l'autorizzazione su OFF). L'SDK non controlla e ti dice che questa autorizzazione non è consentita; non riesce ad accedere.

+0

Ho avuto questo problema. Rimosso il permesso offline_access e reimpostato la mia posizione e le impostazioni sulla privacy e funziona! Davvero fastidioso – Jovan

+0

per me, il problema è stato sicuramente chiedendo offline_access. Dopo averlo rimosso, l'errore 2 è andato via. grazie per il consiglio! – John

8

Stavamo vedendo l'errore com.facebook.sdk 2 solo per determinate persone. Il problema è stato che la nostra app di Facebook era ancora nella modalità sandbox . Disabilitando il problema su developers.facebook.com/apps/{ourfacebookid}, il problema è stato risolto immediatamente.

Si è scoperto che funzionava per quelli di noi che erano stati installati come amministratori per l'app FB, ma non per nessun altro.

+0

Questo mi è costato solo 3 ore di debugging, andando avanti e indietro nelle nostre revisioni. E hai salvato parecchie ore di lotta, grazie, con le votazioni in su! – mentat

1

Ho affrontato lo stesso problema. Si scopre che se la Sandbox è abilitata, gli utenti dovrebbero essere admin. Se è disabilitato, funziona per tutti.