Я пытаюсь интегрировать новый SDK для Facebook для iOS и имел проблемы с пониманием некоторых концепций.
-
Я аутентифицируюсь с помощью диалогового окна
[FBSession sessionOpenWithPermissions:...]
auth и я возвращаю приложение. Auth успешно. -
Затем выключите приложение, снова перезапустите.
[[FBSession activeSession] accessToken]
успешно возвращает ранее сохраненный токен. -
Однако в то же время
[[FBSession activeSession] isOpen]
возвращаетNO
. (Это означает, что сеанс не готов к использованию.) -
Кроме того,
[[FBSession activeSession] state]
-FBSessionStateCreatedTokenLoaded
в это время. Учебное пособие здесь использует вызовisOpen
для проверки активного сеанса загрузки и открытия с помощью токена.
Итак, что мы вызываем, чтобы открыть сеанс, загруженный токеном, без перенаправления пользователя на диалог auth?
Подсказка:
В FBSessionState
enum, для FBSessionStateOpen
он говорит:
Открыто состояние сеанса, указывающее, что пользователь зарегистрировался или доступен кеш-ключ.
Однако FBSessionStateCreatedTokenLoaded
описывается как:
Одно из двух начальных состояний сеанса, указывающее, что загружен кешированный токен; когда сеанс находится в этом состоянии, вызов для открытия * приведет к открытому сеансу без использования UX или приложения
Не могли бы вы помочь мне разобраться в понимании этих сеансовых переходов?