Мне нужна помощь. Я использую UIImagePickerController для загрузки аватара. Я могу сделать снимок с камеры, а вы можете выбрать фотографию. У меня есть фотографии, частично хранящиеся в iCloud, и только предварительные просмотры на устройстве, частично локально. Выбирая локальную фотографию или с камеры, попадаем на экран выбора области, обрезки изображения. Итак, если фотография хранится в iCloud, то происходит следующее:
Я выбираю фотографию, нажимаю готово - окно закрывается, но фотографии нет.
Мой код:
Код для выбора фото из библиотеки
func openMediaDialog() {
PHPhotoLibrary.requestAuthorization({status in
if status == .authorized{
DispatchQueue.main.async {
self.imagePicker.sourceType = UIImagePickerController.SourceType.photoLibrary
//self.imagePicker.navigationItem.setHidesBackButton(false, animated: false)
//If you dont want to edit the photo then you can set allowsEditing to false
self.imagePicker.allowsEditing = true
self.imagePicker.delegate = self
self.present(self.imagePicker, animated: true, completion: nil)
}
} else if status == .denied {
self.alertCameraAccessNeeded(title: "Необходим доступ к фото!", message: "Для загрузки аватара необходим доступ к фото. Разрешить?")
}
})
}
ДЕЛЕГАТ:
override func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
/*
Get the image from the info dictionary.
If no need to edit the photo, use `UIImagePickerControllerOriginalImage`
instead of `UIImagePickerControllerEditedImage`
*/
guard let selectedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage else {
fatalError("Expected a dictionary containing an image, but was provided the following: \(info)")
self.view.makeToast("Проблема с выбором изображения")
}
print(selectedImage)
....
СЛЕДУЮЩИЙ ШАГ - ЗАГРУЗИТЬ ИЗОБРАЖЕНИЕ
Прошу подсказать, как убедиться что фотографии загружаются из icloud, при необходимости кадрируются и загружаются на сервер по обычному сценарию.