FBSession Openactivesession с разрешениями на чтение, не работает с системной учетной записью Facebook, введенной в iOS7

#ios #facebook #ios7

#iOS #Facebook #ios7

Вопрос:

Я запускаю следующий код для входа в facebook:

 [FBSession openActiveSessionWithReadPermissions:@[@"public_profile, email, user_friends"]
                                           allowLoginUI:YES
                                      completionHandler:
         ^(FBSession *session, FBSessionState state, NSError *error) {

         NSLog(@"fb token: %@", session.accessTokenData.accessToken);

             if(error) {
                 NSLog(@"error: %@", error);
              }
}];
  

Когда у iOS нет учетной записи Facebook, она работает нормально. Однако, если к системе привязана учетная запись, это приводит к этой ошибке:

 fb token: (null)
error: Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x10eb2b5c0 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:SystemLoginCancelled, com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=7 "The operation couldn’t be completed. (com.apple.accounts error 7.)", com.facebook.sdk:ErrorSessionKey=<FBSession: 0x10ec879b0, state: FBSessionStateClosedLoginFailed, loginHandler: 0x0, appID: 448248105305258, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x10eb2ab80>, expirationDate: (null), refreshDate: (null), attemptedRefreshDate: 0001-12-30 00:00:00  0000, permissions:(null)>}
2014-07-03 21:40:53.410 Tag Beta copy[62878:60b]
  

Редактировать:

После обновления Facebook SDK до версии 3.15.1, теперь он просто обходит системную учетную запись и проходит аутентификацию через приложение. Это определенно лучше, чем просто выдавать ошибку каждый раз, но было бы лучше, если бы он отображал UIAlertView, запрашивающий разрешение пользователей.

Идентификатор приложения указан на странице настроек учетной записи Facebook, а учетная запись facebook не находится в режиме изолированной среды. Вот скриншот учетной записи facebook:

введите описание изображения здесь

Мы были бы признательны за любую помощь в устранении этой ошибки!

Комментарии:

1. Почему в настройках Facebook указано «НЕДОСТУПНО»? Ошибка гласит, что она была отменена…

2. @Fosco Я сделал скриншот из симулятора, но я вижу ту же проблему на телефоне