Я работаю в разделе редактирования профиля моего приложения. Когда я пытаюсь изменить и обновить фотографию профиля пользователя. Приложение вылетает, и я получаю эту ошибку
reason: 'URL scheme must be one of gs://, http://, or https://
Когда я создаю новый профиль и добавляю фотографию профиля или загружаю фотографию, она работает нормально, но когда я пытаюсь изменить фотографию профиля, я получаю это. Сначала он удалит фотографию профиля и обновит ее (оставив изображение серым, если у пользователя нет фотографии), а затем, когда я попытаюсь изменить фотографию снова, произойдет сбой.
Вот код, который у меня есть.
func updateProfileImage() {
guard imageChanged == true else { return }
guard let currentUid = Auth.auth().currentUser?.uid else { return }
guard let user = self.user else { return }
Storage.storage().reference(forURL: user.profileImageUrl).delete(completion: nil)
let filename = NSUUID().uuidString
guard let updatedProfileImage = profileImageView.image else { return }
guard let imageData = updatedProfileImage.jpegData(compressionQuality: 0.3) else { return }
STORAGE_PROFILE_IMAGES_REF.child(filename).putData(imageData, metadata: nil) { (metadata, error) in
if let error = error {
print("Failed to upload image to storage with error: ", error.localizedDescription)
}
STORAGE_PROFILE_IMAGES_REF.downloadURL(completion: { (url, error) in
USER_REF.child(currentUid).child("profileImageUrl").setValue(url?.absoluteString, withCompletionBlock: { (err, ref) in
guard let userProfileController = self.userProfileController else { return }
userProfileController.fetchCurrentUserData()
self.dismiss(animated: true, completion: nil)
})
})
}
}
}