Я пытаюсь загрузить изображение в хранилище Firebase, а затем сохранить профиль пользователя в базе данных.
Но, похоже, метод storageRef.putData не выполняется -> «закрытие данных при вводе» никогда не печатается.(«uploadProfileImage звонил» печатается.)
Это функция, которая вызывается в Auth.auth (). createUser закрытие.
func uploadProfileImage(_ image:UIImage, completion: @escaping ((_ url:URL?)->())) {
print("uploadProfileImage called")
guard let uid = Auth.auth().currentUser?.uid else { return }
let storageRef = Storage.storage().reference().child("user/\(uid)")
guard let imageData = image.jpegData(compressionQuality: 0.75) else { return }
let metaData = StorageMetadata()
metaData.contentType = "image/jpg"
storageRef.putData(imageData, metadata: metaData) { metaData, error in
print("In put data closure")
if error == nil, metaData != nil {
storageRef.downloadURL(completion: { (url, error) in
if let error = error {
print("url error")
} else {
completion(url?.absoluteURL)
}
})
}
}
}
Но я могу видеть изображение в хранилище Firebase,так что было загружено.И для сохранения профиля мне нужен URL этого изображения.
Спасибо за вашу помощь!