Как получить сообщение об ошибке из NSError из Firebase auth login

Когда я пытаюсь напечатать прочитанное, userfrendly сообщение об ошибке входа пользователя NSError.localizedDiscreption , я обнаружил, что не могу использовать NSError.localizedDiscreption casue, он покажет «найти более подробную информацию».

И мое сообщение об ошибке выглядит так, когда я использую команду print(error)

 2016-05-23 21:29:33.035 Mission Board[3251:] <FIRAnalytics/INFO> Firebase Analytics enabled Optional(Error Domain=FIRAuthErrorDomain Code=17999 "An internal error has occurred, print and inspect the error details for more information." UserInfo={NSUnderlyingError=0x1277e2bb0 {Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey=<CFBasicHash 0x1288eec60 [0x1a172a150]>{type = immutable dict, count = 3, entries => 0 : <CFString 0x12890ad60 [0x1a172a150]>{contents = "message"} = <CFString 0x1288eec20 [0x1a172a150]>{contents = "INVALID_EMAIL"} 1 : errors = <CFArray 0x12890ad20 [0x1a172a150]>{type = immutable, count = 1, values = ( 0 : <CFBasicHash 0x12890c660 [0x1a172a150]>{type = immutable dict, count = 3, entries => 0 : reason = invalid 1 : message = <CFString 0x128872790 [0x1a172a150]>{contents = "INVALID_EMAIL"} 2 : domain = global } )} 2 : code = <CFNumber 0xb000000000001903 [0x1a172a150]>{value = +400, type = kCFNumberSInt64Type} } }}, error_name=ERROR_INTERNAL_ERROR, NSLocalizedDescription=An internal error has occurred, print and inspect the error details for more information.}) 

который не очень читабельен, но я нашел в позициях 1 код 0, есть сообщение с содержимым «INVALID EMAIL»,

Могу ли я просто выводить эту часть на оповещение пользователя?

есть ли встроенная функция?

  • Что такое справочный тип данных firestore?
  • Проверка кодов ошибок аутентификации пользователя с помощью Swift 3
  • Firebase Offline Storage Advanced - ручная синхронизация и информация о ходе работы
  • Ошибка настройки служб Google: Ошибка домена = com.google.greenhouse Код = -106 Отсутствие ожидаемых подпрограмм
  • Изменение электронной почты / пароля пользователя в Firebase 3 для iOS
  • Уведомление об отправке ios с помощью firebase
  • Что на самом деле происходит, когда в Firebase включено сохранение?
  • Добавить ключ и значение для всех дочерних элементов в дереве JSON в Firebase
  • One Solution collect form web for “Как получить сообщение об ошибке из NSError из Firebase auth login”

    Ниже код – мой контроль ошибок. Я использую KVNProgress для предупреждения.

    Swift3

     import KVNProgress FIRAuth.auth()?.createUser(withEmail: self.emailTextLbl.text!, password: self.passwordTextLbl.text!, completion: { (user, error) in if error != nil { let error2:NSError = error as! NSError if error2.code == FIRAuthErrorCode.errorCodeInvalidEmail.rawValue { KVNProgress.showError(withStatus: "Invalid Email", completion: nil) }else if error2.code == FIRAuthErrorCode.errorCodeNetworkError.rawValue { KVNProgress.showError(withStatus: "Network Error", completion: nil) }else if error2.code == FIRAuthErrorCode.errorCodeWeakPassword.rawValue { KVNProgress.showError(withStatus: "Weak Password", completion: nil) }else if error2.code == FIRAuthErrorCode.errorCodeEmailAlreadyInUse.rawValue { KVNProgress.showError(withStatus: "Email Already In Use", completion: nil) } }else{ // Your code } }) 

    Вы можете найти другие элементы управления ошибками в «FIRAuthErrorCode», такие как обработка ошибок входа в систему.

    Interesting Posts

    UITableView с фиксированными заголовками раздела

    UICollectionView привязывается к ячейке при прокрутке по горизонтали

    Серьезная ошибка приложения CoreData

    Поместите границу вокруг частично прозрачного изображения, нарисованного на CGContext

    Как повернуть пользовательский образ userLocationAnnotationView с помощью MapKit в swift?

    Увеличить размер шрифта на основе размера экрана iphone

    Загружаемые изображения UITableViewCell и повторно используемые ячейки

    Как создать и записать текстовый файл UTF-16 с помощью Applescript?

    Как оживить изменение цвета заливки на UIBezierPath?

    Способ определения разрешения камеры iOS

    iOS: изменение позиции изображения при прокрутке в / из просмотра

    Интервал времени ожидания NSURLRequest по умолчанию

    Как получить путь к emoji в iOS

    Не удается запустить приложение на реальном Apple Watch

    Многозадачность iOS: пусть поток воспроизводится, когда приложение находится в лотке

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