[ad_1]
I’ve been attempting to register new customers and their knowledge will not present in firebase, am I lacking something I simply want pointers to assist restructure my code.
My person info will not be displaying up in firebase after they enroll how do I repair this code to correctly see my person knowledge in firebase?
that is additionally a previous supply code are there any up to date codes I can use to unravel my issues
let tapGesture = UITapGestureRecognizer(goal: self, motion: #selector(SignUpViewController.HandleselectorView))
ProfileImage.addGestureRecognizer(tapGesture)
ProfileImage.isUserInteractionEnabled = true
}
@objc func HandleselectorView() {
let Picker = UIImagePickerController()
Picker.delegate = self as! UIImagePickerControllerDelegate & UINavigationControllerDelegate
Picker.sourceType = .photoLibrary
self.current(Picker, animated: true, completion: nil
)
guard let imageSelected = self.SelectedImage else {
return
}
guard let imageData = imageSelected.jpegData(compressionQuality: 0.4) else {
return
}
Auth.auth().createUser(withEmail: EmailTextField.textual content!, password: PasswordTextField.textual content!) { (AuthDataResult, error) in
if let AuthData = AuthDataResult {
print(AuthData.person.e-mail)
var dict : Dictionary < String, Any> = [
"uid": AuthData.user.uid,
"username": self.UsernameTextField.text!,
"email": AuthData.user.email,
"ProfileImageUrl": "" ,
"bio": "",
]
if error != nil {
print(error!.localizedDescription)
return
}
let folder = "ProfileImages"
let imageName = "profilePic"
let StorageRef = Storage.storage().reference().youngster(folder)
let imageReference = StorageRef.youngster(imageName)
//2. Compress high quality
if let uploadData = self.ProfileImage.picture?.jpegData(compressionQuality: 0.5){
//3. Save picture as .jpeg
let metaDataForImage = StorageMetadata()
metaDataForImage.contentType = "picture/jpeg"
//4. Add the information to Firebase Storage
imageReference.putData(uploadData, metadata: metaDataForImage) { (meta, err) in
if let err = err{
print(err.localizedDescription)
}
else{
imageReference.downloadURL { (url, error) in
if let err = error {
print(err.localizedDescription)
return
}
guard let validUrl = url else {
print("url was not legitimate")
return
}
let urlString = validUrl.absoluteString
dict["ProfileImageUrl"] = urlString //replace the dict with the url
let dbRef = Database.database().reference()
let usersRef = dbRef.youngster("customers").youngster(AuthData.person.uid)
usersRef.updateChildValues(dict, withCompletionBlock: { error, ref in
if let err = error {
print(err.localizedDescription)
return
}
print("Efficiently wrote auth knowledge and url")
})
}
}
// Get the brand new view controller utilizing segue.vacation spot.
// Move the chosen object to the brand new view controller.
}
}
}
}
}
}
extension SignUpViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo information: [UIImagePickerController.InfoKey : Any]) {
if let ImageSelected = information[UIImagePickerController.InfoKey.editedImage] as? UIImage {
ProfileImage.picture = ImageSelected
}
print("Did End Selecting Media")
if let Picture = information[.originalImage] as? UIImage {
SelectedImage = Picture
ProfileImage.picture = Picture
}
picker.dismiss(animated: true, completion: nil)
}
}
[ad_2]