Я использую iOS SDK 3.1.1 и пытаюсь получить разрешение на чтение и публикацию одновременно. Как говорится в руководстве, я вызываю FBSession openActiveSessionWithReadPermissions и в его обработчике — обработчике A — вызываю [[FBSession activeSession] reauthorizeWithPublishPermissions, только если обработчик A вызывается с состоянием сеанса FBSessionStateOpen.
Когда у меня есть учетная запись facebook, установленная в настройках iOS 6, обработчик reauthorizeWithPublishPermissions — обработчик B — вызывается нормально с аргументом ошибки, равным nil.
Однако, если у меня нет учетной записи facebook в настройках iOS 6, обработчик B вызывается с ошибкой повторной аутентификации с именем «ErrorReauthorizeFailedReasonUserCancelled», когда приложение переключается на Safari для получения разрешения на публикацию.
Еще более странно вот что. В обоих случаях перед вызовом обработчика B вызывается обработчик A с состоянием сеанса FBSessionStateOpenTokenExtended.
Это нормальное или ожидаемое поведение нового SDK? Если да, то не должен ли я проверить, является ли ошибка нулевой в обработчике B?