0
의 다른 값을 설정하는 것을 방지하지만 사용자가 프로필 이미지를 건너 뛴 경우 사용자는 인증 및 자신의 이메일을 등록하지만, 중포 기지는 사용자 이름과 이메일을 설정하고 프로필 이미지firebase의 누락 된 값 setValue methode 사용자가 firebase에 사용자를 인증하고 username, email 및 Profile Image와 같은 값을 업로드 할 때
@IBAction func SignUp(_ sender: Any) {
if username.text != "", email.text != "", password.text != "", fullname.text != "" {
activityIndicator.startAnimating()
Auth.auth().createUser(withEmail: email.text!, password: password.text!, completion: { (user, error) in
if error != nil {
AlertController.showAlert(self, titel: "Error", message:".Fill all fields\n .User do exists\n .Network error ")
self.activityIndicator.stopAnimating()
return
}
let uid = user?.uid
let storageRef = Storage.storage().reference(forURL: "gs://........com").child("profile_image").child(uid!)
if let profileImg = self.selectedImage, let imageData = UIImageJPEGRepresentation(profileImg, 0.1){
storageRef.putData(imageData, metadata: nil, completion: { (metadata, error) in
if error != nil{
return
}
let profileImageUrl = metadata?.downloadURL()?.absoluteString
let ref = Database.database().reference()
let usersReferance = ref.child("users")
let newUserReferance = usersReferance.child(self.username.text!).child(uid!)
newUserReferance.setValue(["fullname": self.fullname.text, "username": self.username.text, "email": self.email.text, "password": self.password.text, "profileImageUrl": profileImageUrl])
})
}
self.dismiss(animated: true, completion: nil)
self.activityIndicator.stopAnimating()
})
}
}
}
을 기각하지 않습니다
나는 이것이 올바른 방법이라고 생각하지 않는다. 홀 코드를 분리하고 func를 작성한다. – mazenqp
self.selectedImage가 nil 인 경우 코드가 실행되지 않도록 "if let"이미지 내에 값을 설정한다. – EmilioK
userValues? 너 내가 설정 한 것을 의미합니까 ?? 귀하의 방법을 시도했지만 일부 오류가 PF 이미지를 선택한 사용자가 강제로이 문제가 전달됩니다. – mazenqp