Hey Leute, ich versuche hier zwei Dinge: - versuche ein neues Konto zu erstellen und versuche einen Bildschirm wie den zu öffnen nach dem Login, aber es zeigt "email exist exist error".UserInfo = {NSLocalizedDescription = Die E-Mail-Adresse wird bereits von einem anderen Konto benutzt., Error_name = ERROR_EMAIL_ALREADY_IN_USE}
@IBAction func CreateAcccountButton (_ Absender: ANYOBJECT) {
guard let eventInterest = textBox.text,let email = EmailTestfield.text, let password = PasswordTestfield.text, let name = UsernameTestfield.text else {
print("Form is not valid")
return
}
Auth.auth() create (withEmail. Email, Passwort: Passwort, Fertigstellung: {(Benutzer, Fehler) in
if let error = error {
print(error)
return
}
guard let uid = user?.uid else {
return
}
//successfully authenticated user
let imageName = UUID().uuidString
let storageRef = Storage.storage().reference().child("profile_images").child("\(imageName).png")
if let uploadData = UIImagePNGRepresentation(self.Profilepicture.image!) {
storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
if let error = error {
print(error)
return
}
print (metadata)
// let downloadURL = metadata?.downloadURL()
// print("fuckin URL ", downloadURL)
if let Profilepictureurl = metadata?.downloadURL()?.absoluteString {
let values = ["name": name, "email": email,"EventInterest":eventInterest,"Password":password,"Profilepictureurl": Profilepictureurl ]
let user = User(dictionary: values as [String : AnyObject])
let customViewController = MessagesController()
customViewController.setupNavBarWithUser(user)
customViewController.fetchUserAndSetupNavBarTitle()
// customViewController.navigationItem.title = values["name"] as? String
self.dismiss(animated: true, completion: nil)
self.registeruserintoDb(uid,values: values as [String : AnyObject])
}
})
}
}
)
}
fileprivate func registeruserintoDb(_ uid: String, values: [String: AnyObject]) {
let ref = Database.database().reference()
let usersReference = ref.child("users").child(uid)
usersReference.updateChildValues(values, withCompletionBlock: { (err, ref) in
if err != nil {
print(err!)
return
}
})
}
ja SUPERCILEX aber wo kann ich verwenden auth.SignIn, da ich beide Sachen machen möchte: create account und signIn. –
Siehe meine aktualisierte Antwort. Überprüfen Sie, ob der aktuelle Benutzer null ist oder nicht. – SUPERCILEX