2017-10-03 3 views
0

erreurs rencontrées lors des extensions découverte:Créer firebase le chat démo: Je veux télécharger l'image de l'utilisateur, mais sa donne une erreur

erreur Domaine = PlugInKit Code = 13 "requête annulée" UserInfo = {NSLocalizedDescription = requête annulée } 03.10.2017 11: 08: 38,585084 + 0530 NewChatDemo [858: 20663] * Mettre fin à l'application en raison exception uncaught 'NSInvalidArgumentException', raison: « * - [__ NSPlaceholderDictionary initWithObjects: forKeys: count]: tente d'insérer un objet nul à partir d'objets [1]

Voici mon 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") 


} 
+0

Où est l'appel pour, handleRegister()? – Jageen

+0

@objc func handleLoginRegister() { si loginRegistrationSegmentedControll.selectedSegmentIndex == 0 { handleLogin() } { autre handleRegister() }} –

+0

lorsque je sélectionne l'image et congédie sélecteur d'image son give une erreur "rencontré lors de la découverte des extensions: Erreur Domaine = Code PlugInKit = 13" requête annulée " –

Répondre

1

Je pense que cette erreur est due à cette ligne:

let storageRef = Storage.storage().reference() 

Vous devez donner le nom du fichier que vous voulez télécharger, de sorte que vous pouvez faire quelque chose comme ceci:

let storageRef = Storage.storage().reference().child("yourImageName.png")