Parse with Facebook Войти: Сервер отказал в продлении с кодом ошибки: 190

Я работаю над iOS-приложением, которое использует Parse и Facebook.

Для входа в Facebook я следую инструкциям на этой странице: https://www.parse.com/tutorials/integrating-facebook-in-ios

Следуя руководству, у меня есть этот код, который проверяет кешированный сеанс:

// check if this cached session is still valid? // does nothing if still valid - (void) validateCachedSession { FBRequest *request = [FBRequest requestForMe]; [request startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if (!error) { // handle successful response LogObvious(@"Facebook session validated. No problem"); } else if ([error.userInfo[FBErrorParsedJSONResponseKey][@"body"][@"error"][@"type"] isEqualToString:@"OAuthException"]) { // Since the request failed, we can check if it was due to an invalid session LogObvious(@"The facebook session was invalidated. Announce logged Out"); // The persisted session is invalid. Logout! [self logout]; } else { LogObvious(@"The facebook session was invalidated. Announce logged Out"); // The persisted session is invalid. Logout! [self logout]; } }]; } 

Как показано выше, если кешированный сеанс недействителен, он должен вызывать выход из системы:

 - (void) logout { [PFUser logOut]; // Over here we will show the login button again. } 

Чтобы проверить это. Сначала я зарегистрировался в своем приложении, используя учетную запись Facebook. Затем я сменил пароль и снова просмотрю приложение.

Приложение правильно распознает, что сеанс недействителен и вызывается выход из системы.

Но когда я снова нажимаю логин, функция входа возвращает эту ошибку:

 Uh oh. An error occurred: Error Domain=com.facebook.sdk Code=5 "The operation couldn't be completed. (com.facebook.sdk error 5.)" UserInfo=0x1e066140 {com.facebook.sdk:ErrorInnerErrorKey=Error Domain=com.apple.accounts Code=1 "Server refused renewal request with error code: 190" UserInfo=0x1d56df10 {NSLocalizedDescription=Server refused renewal request with error code: 190}, com.facebook.sdk:ParsedJSONResponseKey={ body = { error = { code = 190; "error_subcode" = 65001; }; }; }} 

ЗАЧЕМ? Даже если я завершаю приложение и перезагружаю его. Приложение теперь застряло в этом состоянии – не удалось войти в систему. Любая помощь будет оценена.

p / s: Чтобы быть ясным, это моя функция входа:

 // to be called when user explicitly clicked a login button - (void) loginByFacebookWithPermissions:(NSArray*)permissionsArray { LogFunctionCalledObvious(); [PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) { if (!user) { if (!error) { NSLog(@"Uh oh. The user cancelled the Facebook login."); } else { NSLog(@"Uh oh. An error occurred: %@", error); [self logout]; } } else if (user.isNew) { LogObvious(@"User with facebook signed up and logged in!"); [self requestLoggedInUserInfo]; } else { LogObvious(@"User with facebook logged in!"); [self requestLoggedInUserInfo]; } }]; } 

p / s2: ОК, после большего расследования, поэтому он застрял в этом состоянии, пока я не перейду в Настройки-> Facebook, чтобы повторно ввести новый пароль. Это правильное поведение? не следует ли iOS6 оперативно напоминать пользователю о смене пароля, когда я сменил пароль Facebook с Facebook.com?

One Solution collect form web for “Parse with Facebook Войти: Сервер отказал в продлении с кодом ошибки: 190”

Подкодный код ошибки указывает на это

 static const int FBSDKSystemPasswordErrorSubcode = 65001; case FBSDKSystemPasswordErrorSubcode: case FBAuthSubcodePasswordChanged: if (subcode == FBSDKSystemPasswordErrorSubcode || [FBErrorUtility fberrorIsErrorFromSystemSession:error]) { userMessageKey = @"FBE:PasswordChangedDevice"; userMessageDefault = @"Your Facebook password has changed. To confirm your password, open Settings > Facebook and tap your name."; shouldNotifyUser = YES; } else { userMessageKey = @"FBE:PasswordChanged"; userMessageDefault = @"Your Facebook password has changed. Please log into this app again to reconnect your Facebook account."; } break; 

Вам нужно будет как-то сообщить пользователю об этом

Ваш пароль в Facebook изменен. Чтобы подтвердить свой пароль, откройте «Настройки»> «Facebook» и коснитесь своего имени.

или

Ваш пароль в Facebook изменен. Войдите в это приложение снова, чтобы повторно подключить свою учетную запись Facebook.

  • Парсинг получает E-mail FB SDK
  • Составной запрос для Parse.com с использованием REST API
  • Я не могу получить изображение из PFFile
  • Parse iOS в проверке покупки приложения из Cloud Code
  • iOS - Parse.com PFRelation для добавления друзей добавляет отношения только для текущего пользователя, а не для добавления друга
  • Как воссоздать удаленную установочную таблицу на parse.com
  • Состояние не сохранялось в основном приложении и iOS Today
  • как получить последний добавленный объект parse.com
  • Действие локального уведомления iOS в фоновом режиме
  • Можно ли связать SDK GoogleMaps для iOS с флагом компоновщика, отличным от -ObjC
  • Как предотвратить Parse от спасения детей PFObject?
  • Interesting Posts

    Горизонтальное заполнение между дочерними контроллерами UIPageViewController

    Firebase – iOS внезапно возвращает null для снимков, которые, как я знаю, существуют?

    UITableView с прозрачным градиентом сверху и снизу

    iOS – Как масштабировать UIView с левой верхней точкой?

    как запретить моему приложению отправлять смс на стационарные номера

    NSThread теперь автоматически создает autoreleasepool?

    Как создать PFQueryTableViewController с помощью Parse in Swift?

    Как уменьшить скорость пинч-зума UIGestureRecognizer

    Анимирование перехода клавиатуры «inputView»

    MPMediaItemСтрахование и прозрачность

    Phonegap – Сохранить изображение с URL-адреса в галерее устройств

    iOS – создание статической структуры с другими зависимостями структуры

    Интерактивное размывание UIImage и UIView как прожектор iOS 8

    Несколько методов с именем «тег» найдены с несогласованным результатом

    Изменение цвета ярлыка при редактировании UITableViewCell

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