Facebook iOS 3.1 SDK войти с разрешением публиковать обратные вызовы

У меня возникли проблемы при входе с разрешениями на публикацию в Facebook 3.1 IOS SDK.

В моем приложении есть кнопка для отправки видео, и когда пользователь нажимает на нее, я хочу добавить базовое + разрешение на публикацию. Как я понимаю, мне нужно сделать два звонка -

openActiveSessionWithReadPermissions, а потомreauthorizeWithPublishPermissions

Вот'это код, который яиспользую сейчас:

//Opens a Facebook session and optionally shows the login UX.
- (void)openSessionForReadPermissions
{
    [FBSession openActiveSessionWithReadPermissions:nil
                                       allowLoginUI:YES
                                  completionHandler:
     ^(FBSession *session,
       FBSessionState state, NSError *error) {

         //this is called even from the reauthorizeWithPublishPermissions
         if (state == FBSessionStateOpen && !error)
         {
             [self openSessionForPublishPermissions];
         }
         else if (state == FBSessionStateClosedLoginFailed)
         {
             [FBSession.activeSession closeAndClearTokenInformation];

             [[NSNotificationCenter defaultCenter] postNotificationName:FBLoginErrorNotification object:session];
         }
     }];
}

-(void)openSessionForPublishPermissions
{    
    NSArray* permissions = [NSArray arrayWithObject:@"publish_stream"];

    [[FBSession activeSession] reauthorizeWithPublishPermissions:permissions
                                                 defaultAudience:FBSessionDefaultAudienceFriends
                                               completionHandler:
     ^(FBSession *session, NSError *error)
     {
         if (!error)
         {
             [[NSNotificationCenter defaultCenter]
              postNotificationName:FBLoginSuccessNotification
              object:session];
         }
         else
         {
             [[NSNotificationCenter defaultCenter]
              postNotificationName:FBLoginErrorNotification
              object:session];
         }
     }];
}

Я вижу, что блок в openSessionForReadPermissions вызывается дважды (один раз с FBSessionStateOpen и один раз с FBSessionStateOpenTokenExtended из вызова openSessionForPublishPermissions), и я получаю ErrorReauthorizeFailedReasonUserCancelled при первой попытке войти в приложение до (если O удалил все разрешения приложения до).

Как правильно реализовать этот логин? Приложение не требует входа в Facebook, за исключением этой функции, поэтому процесс входа должен быть одним нажатием кнопки.

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос