Если вы уже используете Firebase, то сначала вам нужно сохранить изображение с помощью Firebase Storage.
Здесь мы берем ссылку на хранилище и преобразуем наше изображение в данные.
let fileName = NSUUID().uuidString
let profileImagesRef = Storage.storage().reference().child("profile_images/\(fileName)")
guard let uploadData = UIImageJPEGRepresentation(image, 0.3) else {
return
}
Затем мы фактически сохраняем наши данные в Firebase Storage
profileImagesRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
if let error = error {
return
}
// After the image has been successfully uploaded we need to grab its download url
profileImagesRef.downloadURL(completion: { (downloadURL, error) in
if let error = error {
return
}
guard let downloadURL = downloadURL else {
return
}
print("successfully fetched download URL: \(downloadURL.absoluteString)")
})
})
Вы хотитесохраните downloadUrl в вашей пользовательской модели и используйте его для загрузки изображения профиля при загрузке профиля.
Вы можете прочитать об этом в документации Firebase.
https://firebase.google.com/docs/storage/ios/download-files
https://firebase.google.com/docs/storage/ios/upload-files