PhotosUI para Swift: guía completa con ejemplos prácticos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

PhotosUI para Swift: Guía completa para seleccionar fotos y videos

1. ¿Qué es PhotosUI y por qué usarlo?

PhotosUI es un framework de Apple que proporciona interfaces de usuario listas para trabajar con la biblioteca multimedia del dispositivo. Forma parte de UIKit y actúa como una capa superior sobre el framework de más bajo nivel Photos. Su objetivo principal es permitir al desarrollador implementar de forma rápida y estandarizada la funcionalidad de selección de fotos y videos, sin tener que profundizar en la compleja lógica de gestión de permisos, navegación por álbumes y visualización de vistas previas.

¿Por qué es necesario? Primero, ahorra tiempo. En lugar de crear tu propio navegador de biblioteca multimedia desde cero, obtienes una interfaz pulida y lista para usar que los usuarios ya conocen. Segundo, garantiza seguridad y cumplimiento con las directrices de Apple. PhotosUI maneja automáticamente las solicitudes de acceso a la biblioteca (a través de PHPhotoLibrary) y funciona correctamente con las nuevas versiones de iOS, incluyendo soporte para privacidad y acceso limitado. Tercero, ofrece flexibilidad: puedes personalizar la apariencia, permitir selección múltiple, filtrar solo fotos o solo videos, e incluso configurar el comportamiento al editar.

Casos de uso principales: fotos de perfil, adjuntar imágenes a mensajes, subir videos a redes sociales, crear collages, integrar con filtros y editores. PhotosUI es ideal para cualquier aplicación que necesite acceso a la biblioteca multimedia del usuario.

2. Instalación

PhotosUI es parte de la biblioteca estándar del SDK de iOS. No requiere instalación a través de CocoaPods, Swift Package Manager ni Carthage. Todo lo que necesitas es importar el framework en tu proyecto.

Importante: PhotosUI está disponible desde iOS 8.0. Sin embargo, para usar todas las funcionalidades modernas (como PHPickerViewController), se recomienda iOS 14+.

// Importar el framework
import PhotosUI

No se necesitan comandos adicionales en la terminal. Simplemente añade import PhotosUI en el archivo donde planeas usar la funcionalidad de selección multimedia.

3. Inicio rápido: ejemplo mínimo funcional

La forma más sencilla de mostrar al usuario la interfaz de selección de fotos es usando PHPickerViewController (iOS 14+). Este controlador se ejecuta en un proceso separado, lo que mejora el rendimiento y la seguridad.

Ejemplo: un botón en pantalla que, al pulsarlo, abre el selector.

import UIKit
import PhotosUI

class ViewController: UIViewController, PHPickerViewControllerDelegate {

    @IBAction func selectPhotoTapped(_ sender: UIButton) {
        // 1. Crear la configuración del selector
        var config = PHPickerConfiguration()
        config.selectionLimit = 1 // Una sola foto
        config.filter = .images // Solo imágenes

        // 2. Crear el controlador
        let picker = PHPickerViewController(configuration: config)
        picker.delegate = self

        // 3. Mostrarlo
        present(picker, animated: true)
    }

    // MARK: - PHPickerViewControllerDelegate
    func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
        dismiss(animated: true)

        guard let provider = results.first?.itemProvider else { return }

        // 4. Cargar la UIImage
        if provider.canLoadObject(ofClass: UIImage.self) {
            provider.loadObject(ofClass: UIImage.self) { image, error in
                DispatchQueue.main.async {
                    // Usar la imagen obtenida
                    print("Imagen cargada: \(String(describing: image))")
                }
            }
        }
    }
}
    

Recommendations