2015-03-25 2 views
8

В новом SDK для iOS Facebook был обновлен весь процесс входа в систему. Старый трюк [FBSession activeSession].isOpen больше не работает. Как я могу надежно определить состояние сеанса пользователя в новом SDK?Facebook iOS SDK v4.0 Проверка состояния сеанса пользователя

Мои текущие мысли просто проверяют, нет ли [FBSDKProfile currentProfile], но это не похоже на то, что он будет на 100% точным или правильным, самым прямым способом решить эту проблему.

+0

Привет, Пожалуйста, обратитесь к моему вопросу http://stackoverflow.com/questions/29908560/how-to-track-facebook-password-change-and-profile-changes. [FBSDKAccessToken currentAccessToken] всегда как токен, даже пользователь изменил пароль/удалил приложение в facebook. можешь мне помочь? – Nandha

ответ

19

На v4.0 есть некоторые изменения. Вы можете проверить их все здесь: https://developers.facebook.com/docs/ios/upgrading-4.x

Чтобы проверить сеанс пользователя, теперь вы должны использовать [FBSDKAccessToken currentAccessToken].

FBSession.activeSession был заменен [FBSDKAccessToken currentAccessToken] и FBSDKLoginManager. Нет понятия состояния сеанса. Вместо этого используйте диспетчер для входа в систему, и он устанавливает ссылку currentAccessToken.

+2

Итак, просто проверьте, является ли этот синглтон 'nil'? – danielmhanover

+0

Точно, сеансов больше нет. Если у вас есть токен доступа, вы можете использовать услуги Facebook. –

+3

Я пытаюсь сделать то же самое, но независимо от того, как я регистрирую пользователя в 'FBSDKAccessToken.currentAccessToken()' всегда 'nil'. Есть ли другой способ сделать это? Благодаря! – Hannes