minhtam23
minhtam23

Reputation: 59

I can't add user to cloud firestore in my ios app

This code is running but I can't add this data to cloud firestore.

enter image description here

import UIKit
import Firebase

class RegisterView: BaseVC {

    @IBOutlet var txtName: UITextField!
    @IBOutlet var txtEmail: UITextField!
    @IBOutlet var txtPassword: UITextField!
    @IBOutlet var txtPasswordCF: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBAction func clickCreate(_ sender: Any) {
        guard let userID = Auth.auth().currentUser?.uid else { return }

        guard let name = txtName.text else {
            return
        }
        guard let email = txtEmail.text else {
            return
        }
        guard let pass = txtPassword.text else {
            return
        }
        FireStoreManager().register(user: email, password: pass, complete: {(error, result) in
            if error != nil {
                print(error)
                return
            } else {
                Firestore.firestore().collection("users").document(userID).setData([
                    "check" : "0",
                    "email" : email,
                    "password" : pass,
                    "uid" : "",
                    "userName" : ""
                ]) { error in
                    print(error)
                }
            }
        })
    }

}

This firebase is common for my android app and ios app. I can add data from android app

Upvotes: 0

Views: 80

Answers (1)

Rohit
Rohit

Reputation: 2326

Register your user in Firebase

    func createUserWithFirebase() {

    Auth.auth().createUser(withEmail: txtEmail.text ?? "", password: txtPassword.text ?? "") { [weak self](authDataResult, error) in
        if let authDataResult = authDataResult{
            print(authDataResult.user.uid)
            if(authDataResult.user.uid).isEmpty {
                self?.showAlert(title: "Error!", message: "Admin not created Please try again.", buttonTitle: "OK", onCompletion: nil)
            }else {
                self?.saveUserInfoInFirestore()
            }
        }else{

            self?.showAlert(title: "Error!", message: "Please provide right login credentials", buttonTitle: "OK", onCompletion: nil)
        }
    }

}

And when the user is created save the data into Firebase

    func saveUserInfoInFirestore() {

    self.docRef = self.db.collection("users").addDocument ( data:[

        "check" : "0",
            "email" : email,
            "password" : pass,
            "uid" : "",
            "userName" : ""

        ]

    ) { err in
        if let err = err {
            self.showAlert(title: "Error", message: "\(err)", buttonTitle: "OK", onCompletion: nil)
            print("Error adding document: \(err)")
        } else {
            print("Document added with ID: \(self.docRef!.documentID)")


        }


    }
}

Upvotes: 1

Related Questions