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))")
}
}
}
}
}
Também na biblioteca
Quartz Scheduler para Java: guia completo com exemplos práticos
Envio de email em Kotlin: bibliotecas e exemplos de código
Pacotes Spatie para PHP: guia completo com exemplos