2015-03-26 17 views
15

Nie ma więcej klasy FBSession w nowym pakiecie Facebook iOS SDK v4.x. Jak mogę się dowiedzieć, czy użytkownik jest zalogowany, czy nie teraz? Z góry dziękuję.Brak FBSession w Facebook iOS SDK 4.x

+3

Co z użyciem [FBSDKAccessToken currentAccessToken]? – Vincent

+4

"FBSession.activeSession został zamieniony na [FBSDKAccessToken currentAccessToken] i FBSDKLoginManager. Nie ma koncepcji stanu sesji. Zamiast tego użyj menedżera, aby się zalogować, a to ustawi odwołanie currentAccessToken." z https://developers.facebook.com/docs/ios/upgrading-4.x? – Larme

+0

Jak to zrobić? – KarenAnne

Odpowiedz

11

Vincent ma rację, sprawdź [FBSDKAccessToken currentAccessToken], aby określić, czy użytkownik jest zalogowany

+0

czy wiesz, jak zalogować użytkownika, muszę to zrobić programowo –

+0

FBSDKLoginManager ma metodę wylogowania, ale dokumenty online są obecnie puste. Muszę jeszcze przejść na 4.0 i mam taką samą potrzebę. Sprawdź nagłówki, dopóki nie zakończy się https://developers.facebook.com/docs/reference/ios/current/class/FBSDKLoginManager/. –

+0

czy wiesz, jak pobrać informacje o użytkowniku po pomyślnym zalogowaniu, muszę uzyskać wiadomość e-mail – OXXY

5

Aby sprawdzić, czy użytkownik zalogowany i jeśli tak, to należy przejść do innego widoku.

if ([FBSDKAccessToken currentAccessToken]) { 
    // User is logged in 
    [self performSelector:@selector(accessGrantedNavigation) 
       withObject:nil afterDelay:0.0]; 
} 

-(void)accessGrantedNavigation{ 
    [self performSegueWithIdentifier: @"segueLoginFB" sender: self]; 
} 

Aby wylogowanie: (. choć nie zezwala użytkownikowi na zmianę FB Myślę, że to dlatego, Safari już dba o tej sesji i pozostaje ten sam użytkownik.)

FBSDKLoginManager *manager = [[FBSDKLoginManager alloc] init]; 
    [manager logOut]; 

Mam nadzieję, że to pomaga.

+1

Proszę, jak mogę zastąpić to '[FBSession openActiveSessionWithAllowLoginUI: NO];'? –

Powiązane problemy