Невозможно прочитать данные определенного документа по его идентификатору - PullRequest
1 голос
/ 15 марта 2020

У меня есть этот код:

Auth.auth().signIn(withEmail: email, password: password) { (authResult, err) in

self.logInButton.isLoading = false

// Check for errors
if err != nil {

// There was an error login to the system
self.showError("Incorrect login or password")
} else {
    let db = Firestore.firestore()

    guard let uid = Auth.auth().currentUser?.uid else { return }

    // Here the program don't enter
    // In this case, complete shows the crossed out getDocument function
    db.collection("users").document(uid).getDocument { (shapshot, error) in
    guard let snap = shapshot, error == nil else {
        self.showError(error!.localizedDescription)
        return
    }
    ...
}

Я не могу прочитать данные, хотя все существует. Когда программа приходит в getDocument, она просто не go в нее. Что я делаю не так?

Upd. Возможно, возможно, консольный вывод поможет вам как-то:

2020-03-15 07:35:37.919683+0500 SmartLibrary[1956:39141] 6.19.0 - [Firebase/Analytics][I-ACS023007] Analytics v.60301000 started
2020-03-15 07:35:37.986973+0500 SmartLibrary[1956:39141] 6.19.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see ...)
2020-03-15 07:35:37.992944+0500 SmartLibrary[1956:39141] 6.19.0 - [Firebase/Analytics][I-ACS031025] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2020-03-15 07:35:38.412739+0500 SmartLibrary[1956:39185] 6.19.0 - [Firebase/Analytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
2020-03-15 07:35:38.809486+0500 SmartLibrary[1956:39148] 6.19.0 - [Firebase/Analytics][I-ACS800003] Registered an SDK that has already registered. Default flags will be overwritten. SDK name: app_measurement
2020-03-15 07:35:38.811448+0500 SmartLibrary[1956:39148] 6.19.0 - [Firebase/Analytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
2020-03-15 07:35:39.585977+0500 SmartLibrary[1956:39134] 6.19.0 - [Firebase/Analytics][I-ACS023012] Analytics collection enabled

1 Ответ

0 голосов
/ 18 марта 2020

Получите идентификатор пользователя из результата:

Auth.auth().signIn(withEmail: email, password: password) { (authResult, err) in

    if let uid = authResult?.user.uid { // successfully signed in

        Firestore.firestore().collection("users").document(uid).getDocument { (shapshot, error) in

            if let snapshot = snapshot {
                ...
            } else { // error with database

                if let error = error {
                    print(error) // print to console, find out why
                }

            }

        }

    } else { // error with login

        if let err = err {
            print(err) // print to console, find out why
        }

    }

}

Если он по-прежнему не выполняется, у вас есть проблема с учетными данными и вы используете неверный адрес электронной почты или пароль, или пользователь в самом администраторе не ' t существует или отключен.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...