Facebook SDK: openActiveSessionWithPermissions completeHandler не вызывается

Используя код из Facebook, я реализовал

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI { NSArray *permissions = [[NSArray alloc] initWithObjects: @"publish_actions", nil]; return [FBSession openActiveSessionWithPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { NSLog(@"error %@", error); [self sessionStateChanged:session state:state error:error]; }]; } 

Он возвращает NO, который я понимаю, потому что это первый вход в систему, и loginUI работает (он отправляет пользователя в FB и просит их предоставить разрешения), а затем возвращается, но блок завершенияHandler никогда не запускается. Он просто возвращается в приложение и нада.

Я предполагаю, что вы следуете за внедрением потока входа в систему Facebook SDK, но стоило еще раз прочитать этот раздел, поскольку он объясняет все. Убедитесь, что вы обрабатывали методы openURL и handleOpenURL в делегате. Также проверьте, что openSessionWithAllowLoginUI почти всегда возвращает NO

Немного поздно, но на всякий случай кто-то приходит проверить …

Переключение с openActiveSession на метод экземпляра openWithCompletionHandler сделал трюк для меня.

из официального документа

обработчик

… Если предоставляется блок, объект FBSession будет вызывать блок каждый раз, когда изменяется состояние сеанса.

Я исправил эту проблему своими решениями Open Graph и изучил примерный код примера из FB, такой как эти функции [FBSession.activeSession handleOpenURL: url] и [FBSession.activeSession handleDidBecomeActive];

  • Parse v1.7.4 и Facebook SDK NSInvalidArgumentException ', причина:' + : непризнанный селектор, отправленный в класс
  • FB 4.0 - FBSession openActiveSessionWithReadPermissions replacement
  • Как программно хранить ключ AppID Facebook
  • FBDialogClosePNG.h не найден в Facebook iOS SDK
  • Facebook Graph API прекратил отправку электронной почты пользователя
  • Не удалось выполнить запрос (код ошибки 7) через openActiveSessionWithReadPermissions с пользователями тестирования Facebook
  • Друзья онлайн присутствия - Facebook SDK 3
  • Не удается получить requestId из приложения iOS для Facebook
  • Не удалось получить идентификатор электронной почты пользователя при входе в систему с помощью Facebook SDK в iOS
  • Как получить список всех друзей Facebook при использовании Parse?
  • Facebook: «URL-адрес не понравился, потому что он был заблокирован» ошибка в приложении iOS
  • Interesting Posts

    Как преобразовать временную метку unix в удобное для человека время?

    Swift – обновить / обновить ярлык, отображающий время

    Как подключить видео с помощью AVPlayerLooper

    Внедрение городского дирижабля в iOS

    Сериализация / сохранение UIView и его подзонов

    iOS: Получите «предупреждение о принимаемой памяти» после использования изображения, созданного из PDF и используемого в качестве фона

    Основные данные. Зачем нужно перезагружать данные, чтобы мое приложение работало?

    Неправильная ориентация iPhone?

    Удаление исходных данных xcdatamodel файлов

    Размер приложения для iphone меньше экрана

    + : непризнанный селектор, отправленный в класс

    Swift 4 – iOS 11 Область поиска не будет отображаться так, как должна

    Какой фрагмент будет выбран iPhone

    iCloud, основные данные, миграция и сопоставление моделей

    Как проверить идентификатор объекта, который был затронут (iOS)

    Давайте будем гением компьютера.