PhotosUI para Swift: guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

PhotosUI para Swift: Guia completo para selecionar fotos e vídeos

1. O que é PhotosUI e por que usar?

PhotosUI é um framework da Apple que fornece interfaces de usuário prontas para trabalhar com a biblioteca de mídia do dispositivo. Ele faz parte do UIKit e é uma camada sobre o framework de nível mais baixo Photos. O principal objetivo do PhotosUI é permitir que desenvolvedores implementem rapidamente a funcionalidade de seleção de fotos e vídeos de forma padronizada, sem precisar lidar com a complexa lógica de controle de acesso, navegação por álbuns e exibição de prévias.

Por que usar? Primeiro, economiza tempo. Em vez de criar um navegador de mídia do zero, você obtém uma interface pronta e polida que os usuários já conhecem. Segundo, é seguro e segue as diretrizes da Apple. O PhotosUI lida automaticamente com as solicitações de acesso à biblioteca (via PHPhotoLibrary) e funciona corretamente com as versões mais recentes do iOS, incluindo suporte a privacidade e acesso limitado. Terceiro, é flexível: você pode personalizar a aparência, permitir seleção múltipla, filtrar apenas fotos ou apenas vídeos e até configurar o comportamento durante a edição.

Casos de uso comuns: fotos de perfil, anexar imagens a mensagens, enviar vídeos para redes sociais, criar colagens, integrar com filtros e editores. O PhotosUI é ideal para qualquer aplicativo que precise acessar a biblioteca de mídia do usuário.

2. Instalação

O PhotosUI faz parte da biblioteca padrão do iOS SDK. Não é necessário instalá-lo via CocoaPods, Swift Package Manager ou Carthage. Basta importar o framework no seu projeto.

Importante: O PhotosUI está disponível a partir do iOS 8.0. No entanto, para usar todos os recursos modernos (como o PHPickerViewController), recomenda-se iOS 14 ou superior.

// Importando o framework
import PhotosUI

Nenhum comando adicional no terminal é necessário. Apenas adicione import PhotosUI no arquivo onde você planeja usar a funcionalidade de seleção de mídia.

3. Início rápido: exemplo mínimo funcional

A maneira mais simples de exibir a interface de seleção de fotos para o usuário é usar o PHPickerViewController (iOS 14+). Este controlador roda em um processo separado, melhorando o desempenho e a segurança.

Exemplo: um botão na tela que, ao ser pressionado, abre o seletor.

import UIKit
import PhotosUI

class ViewController: UIViewController, PHPickerViewControllerDelegate {

    @IBAction func selectPhotoTapped(_ sender: UIButton) {
        // 1. Criar a configuração do seletor
        var config = PHPickerConfiguration()
        config.selectionLimit = 1 // Uma foto
        config.filter = .images // Apenas imagens

        // 2. Criar o controlador
        let picker = PHPickerViewController(configuration: config)
        picker.delegate = self

        // 3. Exibir
        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. Carregar a UIImage
        if provider.canLoadObject(ofClass: UIImage.self) {
            provider.loadObject(ofClass: UIImage.self) { image, error in
                DispatchQueue.main.async {
                    // Usar a imagem obtida
                    print("Imagem carregada: \(String(describing: image))")
                }
            }
        }
    }
}
    

Recommendations