Вы должны использовать getDocuments()
вызов, поскольку ответ Дуга объясняет, но я также хочу показать вам, почему ваш текущий код не работает.
Сейчас вы удаляетеслушатель сразу после того, как вы прикрепите его. Поскольку получение данных с серверов (или из локального кэша) занимает некоторое время, вы удаляете прослушиватель еще до того, как эти данные станут доступны, поэтому ваш слушатель никогда не будет вызван.
Чтобы удалить прослушиватель послеобрабатывая данные, вы должны удалить их внутри обратного вызова:
func uniqueUserName (userName: String) {
let listener = Firestore.firestore().collection("users").whereField("userName", isEqualTo: self.userNameTextField.text!).addSnapshotListener(handleSnapshot)
func handleSnapshot (snapshot, error) {
guard let snapshot = snapshot?.documents else {fatalError()}
if snapshot.isEmpty {
print("True")
} else {
print("False")
}
listener.remove()
}