Как мне получить номер телефона в firebase? - PullRequest
0 голосов
/ 30 мая 2020

частное развлечение c showCreateProfileV C () {

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    let dvc = storyboard.instantiateViewController(withIdentifier: "CreateProfileVC") as! CreateProfileVC

    dvc.currentUser = Firebase.Auth // there's an error "Cannot assign value of type 'Auth.Type' to type 'User'"

    self.present(dvc, animated: true)

}

1 Ответ

1 голос
/ 30 мая 2020

Ошибка в вашем коде здесь

// there's an error "Cannot assign value of type 'Auth.Type' to type 'User'"
dvc.currentUser = Firebase.Auth

, потому что вам необходимо получить доступ к свойству currentUser аутентификации Firebase.

if let user = Auth.auth().currentUser {
   //do something with the user object
   dvc.currentUser = user

   //to get the current users uid
   let uid = user.uid
}

Предположим, вы используете базу данных реального времени и у вас есть пользователи хранятся следующим образом

users
   uid_0
      phone_number: "111-222-3333"

, и вы хотите получить пользователя с номером телефона uid_0. Вот код

func getUsersPhoneNumber() {
    let uid = //the current users uid from above
    self.ref.child("users").child(uid).observeSingleEvent(of: .value) { snapshot in
        let phone = snapshot.childSnapshot(forPath: "phone_number").value as? String ?? "No Number"
        print(phone)
    }
}

, а на выходе

111-222-3333
...