Я используюFacebook IOS SDK - открыть сеанс и запрос разрешения на чтение
(void)openWithBehavior:(FBSessionLoginBehavior)behavior completionHandler:(FBSessionStateHandler)handler
открыть свою сессию, которая работает отлично. После того, как открытый, я затем получить мои права чтения с:
(void)requestNewReadPermissions:(NSArray*)readPermissions completionHandler:(FBSessionRequestPermissionResultHandler)handler
Это прекрасно работает, но для пользователей, подписывающих через Mobile Safari (или вероятно приложение Facebook IOS, не проверял), пользователи получают прыгнула вперед и назад дважды (нажмите «Войти» в моем приложении, перейдите в «Мобильное Safari», войдите в систему, перейдите в мое приложение, вернитесь в Mobile Safari, подтвердите разрешения, вернитесь к моему приложению.
Возвращающиеся пользователи - те, кто выходил из системы моего приложения (и токена удалены), также получите двойной прыжок - каждый раз, когда Mobile Safari сообщает пользователю, что они уже одобрили приложение.
Я - ng openWithBehavior, потому что я назначаю приоритет для собственного входа в систему iOS, используя FBSessionLoginBehaviorUseSystemAccountIfPresent
. Я не вижу версию этого в сочетании с первоначальным запросом разрешений (например, openActiveSessionWithReadPermissions...
).
Я надеялся, что для последующих логинов разрешения будут уже известны через session.permissions
, но при тестировании это значение равно null, пока не вызывается requestNewReadPermissions
.
Можно ли удалить двойной прыжок из одного или обоих сценариев (первый пользовательский логин, последующий вход пользователя), но все же достичь тех же разрешений?
Отлично! Я пропустил это в заголовках. Благодаря! –