Как скачать фото из памяти телефона в приложение?

Для того чтобы скачать фото из памяти телефона в приложение на устройствах iOS, вам необходимо использовать фреймворк Photos.

Вот подробное описание шагов:

1. Подключите фреймворк Photos к вашему проекту. Чтобы это сделать, откройте настройки проекта в Xcode и перейдите во вкладку "General". В разделе "Frameworks, Libraries, and Embedded Content" нажмите на кнопку "+" и выберите фреймворк Photos из списка.

2. Импортируйте фреймворк Photos в файле, где вы планируете использовать его. Пропишите следующую строку кода в начале файла:

import Photos

3. Создайте экземпляр класса PHImageManager. Этот класс позволяет работать с изображениями из библиотеки фото на устройстве:

let imageManager = PHImageManager.default()

4. Получите доступ к фото из памяти телефона. Сначала вам нужно запросить доступ пользователя к его фотобиблиотеке, чтобы получить разрешение на доступ. Это можно сделать следующим образом:

PHPhotoLibrary.requestAuthorization { (status) in
    // Проверяем статус доступа к фотобиблиотеке
    if status == .authorized {
        // Получаем все фото из библиотеки
        let fetchOptions = PHFetchOptions()
        let allPhotos = PHAsset.fetchAssets(with: .image, options: fetchOptions)
        
        // Выбираем первое фото из списка
        if let firstPhoto = allPhotos.firstObject {
            // Получаем изображение фото
            self.imageManager.requestImage(for: firstPhoto, targetSize: CGSize(width: 100, height: 100), contentMode: .aspectFill, options: nil, resultHandler: { (image, _) in
                if let image = image {
                    // Обрабатываем изображение, например, отображаем его в ImageView
                    DispatchQueue.main.async {
                        self.imageView.image = image
                    }
                }
            })
        }
    }
}

В данном примере мы запрашиваем доступ пользователя к его фотобиблиотеке и получаем первое фото из нее. Мы также указываем размер изображения, которое мы хотим получить, и обрабатываем его в блоке resultHandler.

Обратите внимание, что перед использованием фреймворка Photos необходимо добавить строку "Privacy - Photo Library Usage Description" в файл Info.plist вашего проекта, чтобы показать пользователю объяснение о том, для чего ваше приложение нуждается в доступе к его фотобиблиотеке.