#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 Я сделал скриншот из симулятора, но я вижу ту же проблему на телефоне