2015-03-26 3 views
15

Нет нового класса FBSession в новом Facebook iOS SDK v4.x. Как я могу узнать, зарегистрирован ли пользователь сейчас или нет? Заранее спасибо.Нет FBSession в Facebook iOS SDK 4.x

+3

Как насчет использования [FBSDKAccessToken currentAccessToken]? – Vincent

+4

«FBSession.activeSession заменен на [FBSDKAccessToken currentAccessToken] и FBSDKLoginManager. Концепции состояния сеанса нет. Вместо этого используйте диспетчер для входа в систему, и это устанавливает ссылку currentAccessToken». от https://developers.facebook.com/docs/ios/upgrading-4.x? – Larme

+0

Как вы это делаете? – KarenAnne

ответ

11

Винсент правильно, проверьте [FBSDKAccessToken currentAccessToken], чтобы определить, если пользователь вошел в систему

+0

Вы знаете, как регистрировать пользователя, мне нужно сделать это программно –

+0

У FBSDKLoginManager есть метод выхода из системы, но онлайн-документы в настоящее время пустые. Мне еще нужно конвертировать в 4.0, и у меня такая же потребность. Проверьте заголовки, пока не закончится https://developers.facebook.com/docs/reference/ios/current/class/FBSDKLoginManager/. –

+0

Вы знаете, как получить информацию о пользователе после успешного входа в систему, мне нужно получить письмо – OXXY

5

Чтобы проверить, если пользователь вошел в систему и если да, то перейти к другой точке зрения:.

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

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

Для выход из системы: (. хотя это не позволяет изменить пользователя FB Я думаю, это потому, что Safari уже берет на этой сессии и остается тем же пользователем.)

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

Надеюсь, это поможет.

+1

Пожалуйста, как я могу заменить это '[FBSession openActiveSessionWithAllowLoginUI: NO];'? –

Смежные вопросы