errors encountered while discovering extensions:
Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled} 2017-10-03 11:08:38.585084+0530 NewChatDemo[858:20663] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]
Here is my Swift 4 code:
@objc func handleRegister()
{
guard let email = emailTextField.text, let password = passwordTextField.text, let name = nameTextField.text else{
print("invalid form")
return
}
Auth.auth().createUser(withEmail: email, password: password, completion: { (user: User? , error) in
if error != nil
{
print(error)
return
}
guard let uid = user?.uid else{
return
}
//successfully authenticated user
let storageRef = Storage.storage().reference()
if let uploadData = UIImagePNGRepresentation(self.profileImageView.image!){
storageRef.putData(uploadData, metadata: nil, completion: {(metadata, error) in
if error != nil
{
print(error)
}
else
{
print(metadata)
}
})
}
let ref = Database.database().reference(fromURL: "https://newchatapp-470cb.firebaseio.com/")
let uerReference = ref.child("users").child(uid)
let values = ["name": name, "email": email]
uerReference.updateChildValues(values, withCompletionBlock: { (err, ref) in
if err != nil
{
print(err)
return
}
print("Successfully saved user in firebase db")
})
})
}
@objc func handleSelectProfileImageView()
{
let picker = UIImagePickerController()
picker.delegate = self
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
print(info)
var selectedImageFromPicker: UIImage?
if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage
{
selectedImageFromPicker = editedImage as! UIImage
}else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage{
selectedImageFromPicker = originalImage as! UIImage
}
dismiss(animated: true, completion: nil)
if var selectedImage = selectedImageFromPicker
{
profileImageView.image = selectedImage
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
print("Cancel picker")
}