2015-03-25 19 views
8

Nel nuovo SDK iOS di Facebook, l'intera procedura di accesso è stata rinnovata. Il vecchio trucco [FBSession activeSession].isOpen non funziona più. Come posso determinare in modo affidabile lo stato della sessione di un utente nel nuovo SDK?Facebook iOS SDK v4.0 Verifica stato sessione utente

I miei pensieri attuali sono semplicemente controllando se [FBSDKProfile currentProfile] è pari a zero, ma che non sembra come sarebbe accurato al 100%, o il modo più diretto corretto per risolvere questo problema.

+0

Ciao, Si prega di fare riferimento alla mia domanda http://stackoverflow.com/questions/29908560/how-to-track-facebook-password-change-and-profile-changes. [FBSDKAccessToken currentAccessToken] è sempre come token anche se l'utente ha cambiato la password/rimosso l'app in facebook. Mi potete aiutare? – Nandha

risposta

19

Ci sono alcuni cambiamenti su v4.0. È possibile controllare tutti qui: https://developers.facebook.com/docs/ios/upgrading-4.x

Per verificare la sessione dell'utente, ora è necessario utilizzare [FBSDKAccessToken currentAccessToken].

FBSession.activeSession è stato sostituito con [FBSDKAccessToken currentAccessToken] e FBSDKLoginManager. Non esiste un concetto di stato di sessione. Invece, utilizzare il gestore per accedere e questo imposta il riferimento currentAccessToken.

+2

Quindi, controlla se quel singleton è 'nil'? – danielmhanover

+0

Esattamente, non c'è più stato di sessione. Se disponi di un token di accesso, puoi utilizzare i servizi di Facebook. –

+3

Sto provando a fare lo stesso, ma non importa quanto registro l'utente nel 'FBSDKAccessToken.currentAccessToken()' è sempre 'nil'. C'è un altro modo per farlo? Grazie! – Hannes