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.

  • PFSignupViewController Дополнительный адрес электронной почты
  • Xcode, Parse Crash Reporting, dSYM-файл не создан
  • Ошибки ссылок с Parse.framework iOS
  • кэширование изображений в коллекцииViewCell в Swift?
  • Как я могу получить доступ к переменной __block после завершения блока?
  • PFSubclassing с указателем массива и быстрой 1.2 - фатальной ошибкой: элемент NSArray не соответствует типу элемента Swift Array
  • Влияние вариантов сборки Xcode «Включить биткод» Да / Нет
  • iOS 9 Parse (v 1.8.5) Facebook (v 4.6) ошибка входа в систему на FBSDKInternalUtility checkRegisteredCanOpenURLScheme
  • Не работает отчет о сбое
  • Состояние не сохранялось в основном приложении и iOS Today
  • Ошибка не будет сохранена. Ошибка: значок должен быть неотрицательным целым числом.
  • Код облачного кода, дающий мне код: 141 ошибка
  • Interesting Posts

    Как отклонить модальный ViewController справа налево?

    Названия разделов из NSFetchedResultsController не соответствуют значениям управляемого объекта

    Закрытие против шаблона делегирования

    iOS 10 – Повторение уведомлений каждые минуты «x»

    Что происходит с cookies веб-просмотра при закрытии приложения?

    Как получить фотографии альбома facebook в iPhone SDK?

    iOS – загрузка изображения с помощью API-интерфейса ImageShack JSON

    Возможно ли разработать iOS или OS X App в LLVM IR?

    Декодирование в реальном времени потока H.264 поверх RTP в iOS

    Ошибка проверки подлинности Xcode «отсутствует или недействительный закрытый ресурс»

    Передача управляемого объекта ObjectContext через представления UITabBarController

    Невозможно создать динамическую библиотеку для PJSIP

    Кордова: обмен URL-адресом браузера с моим приложением iOS (расширение общего доступа для iOS Clipper)

    Пользовательский UICollectionViewCell с UIProgressView показывает progressView для повторно используемых ячеек

    ResumeData получает нуль при использовании downloadTaskWithRequest

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