【发布时间】:2019-11-09 00:27:08
【问题描述】:
我正在处理我的应用程序的编辑配置文件部分。当我尝试更改和更新用户个人资料照片时。应用程序崩溃,我收到此错误
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)
})
})
}
}
}
【问题讨论】:
-
究竟是哪一行引发了该错误?
-
@FrankvanPuffelen 嗨,弗兰克,它没有给我一条线......只是一个完整的崩溃并将我带到 AppDelegate。如果这有意义
标签: swift firebase firebase-realtime-database firebase-storage