Я пытаюсь интегрировать новый 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 или приложения
Не могли бы вы помочь мне разобраться в понимании этих сеансовых переходов?