Приложение iOS не отображается в списке «Разрешить эти приложения использовать вашу учетную запись», используя FB SDK v3.5

Я использую FB ios SDK v3.5 для своего приложения. Для части входа в систему я не использую FBLoginView для входа в систему, вместо этого я использую UIButton и вызываю [FBSession openActiveSessionWithReadPermission] в обработчике этого UIButton.

В FB SDK v3.2.1 я использую следующий код для обработки различных сценариев регистрации, он отлично работает:

self.useAccountAllowed = true; ACAccountStore *accountStore; ACAccountType *accountTypeFB; if ((accountStore = [[ACAccountStore alloc] init]) && (accountTypeFB = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook] ) ){ NSArray *fbAccounts = [accountStore accountsWithAccountType:accountTypeFB]; id account; if (!fbAccounts) { //do not log into FB on the device } else if ([fbAccounts count] == 0) { [FBSession.activeSession closeAndClearTokenInformation]; self.useAccountAllowed = false; //User does not allow the app to use the account } else if ([fbAccounts count]>0 && (account=[fbAccounts objectAtIndex:0])) { [accountStore renewCredentialsForAccount:account completion:^(ACAccountCredentialRenewResult renewResult, NSError *error) { //User allowes the app to use the account //we don't actually need to inspect renewResult or error. if (error){ } }]; } } 

затем в функции обработчика UIButton:

 if (self.useAccountAllowed) { [FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession* session, FBSessionState status, NSError* error){ [self sessionStateChanged:session state:status error:error];}]; } else { NSArray* lPermission = FBSession.activeSession.permissions; [FBSession openActiveSessionWithPermissions:lPermission allowLoginUI:YES completionHandler:^(FBSession* session, FBSessionState status, NSError* error){ [self sessionStateChanged:session state:status error:error];}]; 

это означает, что если пользователь не разрешает приложению использовать учетную запись, мы просто используем быстрый переход через Safari для входа в систему; в противном случае мы используем собственный логин.

Но в SDK v3.5, все тот же код, но иногда, когда приложение выполняется и регистрируется в facebook, приложение не входит в список «Разрешить эти приложения использовать вашу учетную запись», поэтому этот код не может отличить эти два случая: 1. приложение не входит в список; 2. пользователь запрещает приложению использовать эту учетную запись. поэтому приложение не может войти в систему изначально.

Обратите внимание, что эта проблема существует случайным образом. иногда я жестко код, чтобы вызвать openActiveSessionWithPermissions напрямую, эта проблема исчезла. но я не уверен, что это причина.

Мне просто интересно в FB SDK v3.5, мне нужно явно вызвать некоторую функцию SDK, связанную с настройками iOS?

  • Запретить пользователям изменять часть текста в SLComposeViewController
  • iOS: Почему кнопка выхода из системы Facebook отображается неправильно?
  • Доступ к базовому профилю при входе пользователя в приложение iOS
  • авторизация iK SDK для facebook без перенаправления на сафари
  • Вход в Facebook через Safari или приложение FB не работает
  • Проблемы с фотопиксером и FB GrapSharer в iOS 11
  • Выход из Facebook программно iOS
  • Facebook iOS SDK: обновление токена с истекшим доступом без предоставления диалога
  • Как добавить функцию совместного использования ключей для идентификатора приложения без устройства?
  • Сообщение UIImage to Instagram с помощью Swift, похожее на SLComposeViewController
  • Есть ли диспетчер представлений людей, который работает с друзьями Facebook?
  • Interesting Posts

    проблемы с звуковыми клипами с HTML5 Audio на iPhone

    При удалении ячейки и в PFQueryTableViewController она получает ошибку Assertion в

    Универсальный IBDesginables расширение UIView

    Добавление пользовательских заголовков в вызов Cloud Endpoints в iOS (Swift) с использованием клиентской библиотеки iOS

    Открытие приложения TestFlight из другого приложения и глубокая ссылка на конкретное приложение

    Как сделать вкладку сепаратора UITableView переместиться с краев экрана?

    В чем разница между блоком NSAutoreleasePool и @autoreleasepool?

    Невозможно подкласс PFQueryTableViewController

    iOS – EncodeWithCoder – Кодировать ниль

    Метод PHImageManager «requestImageDataForAsset» дает сбой в Swift

    База данных SQLite на PhoneGap / iOS – возможно более 5 МБ

    iOS 8 Запуск файла изображения – панель навигации и строка состояния

    Быстрая ошибка теста модуля – структура не найдена AWSCore для архитектуры i386

    Почему didRotateFromInterfaceOrientation в категории вызывает проблемы с UISplitView?

    NSCondition, что, если нет блокировки при вызове?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.