Acessando a Câmera e a Galeria do iOS com Swift 5
Guia prático de como usar imagens da sua galeria ou tirar da sua câmera.
Acessar a Galeria e a Câmera do iOS é talvez uma das funcionalidades mais usados nos atuais aplicativos, com isso podemos: Salvar imagens de perfil, de eventos, das nossas plantas, dentre outras coisas mil que podemos fazer a partir de uma ferramenta simples.
O resultado final dessa jornada será dado da seguinte forma (acesso a câmera e a galeria):
O primeiro passo para acessar tanto a Câmera quanto a Galeria é avisar no info.plist que estaremos utilizando tal recurso na aplicação, o faremos da seguinte forma:
Com o info.plist atualizado já somos capazes de fazer uso do recurso de acesso a câmera e a galeria.
O primeiro passo para isso é a criação da nossa classe que herda diretamente de NSObject que nos permite usar dois protocolos o UIImagePickerControllerDelegate onde teremos acesso aos recursos de câmera e galeria e o UINavigationControllerDelegate onde nos será concedido o acesso para as transições de tela.
Além da classe foi criado quatro variáveis globais, sendo que a primeira é uma UIImagePickerController que gerencia o sistema de tirar fotos, gravar videos e escolher imagens da galeria, três das duas coisas que iremos fazer, a segunda é um alerta para pedir ao usuário que identifique se ele quer acessar a câmera ou a galeria, já a terceira cria um UIViewController para podermos transitar de telas com mais facilidade e por fim temos um a criação de um retorno estilo escaping.
Logo abaixo das variáveis e ainda dentro da classe faremos a função principal que acessará as nossas funções:
O código acima já foi bem comentado para facilitar a nossa vida, ao invés de explicar parte a parte e discorrer uns 3 anos de leitura. O mais importante que devemos entender é a linha 8, onde estamos guardando o callback da função em um callback global que criamos acima, bom essa é a parte de ‘arcanas’ do código que não é trivial e depende de um conhecimento mais aprofundado em closures.
Agora criaremos o método da nossa classe que acessa a câmera:
A partir do iOS 10 é obrigatório pedir a permissão do usuário caso desejamos acessar a câmera, esse pedido é gerenciado pelo próprio dispositivo exibindo a mensagem definida no info.plist, por isso a linha 7 e o preenchimento do plist, caso o contrário o aplicativo simplesmente para de funcionar.
Essa mesma permissão não é obrigatória no caso abaixo que acessaremos a galeria, logo o código fica mais simples:
Bom, temos os dois últimos métodos que são acionados quando o usuário seleciona uma imagem ou cancela a operação, elas são:
Cancelando:
Escolhendo:
Por fim, na nossa ViewController nos podemos chamar o método principal da nossa classe para escolher uma imagem:
Bom, por hoje é isso e até a próxima 🙏🏻
Segue abaixo código completo e Github do projeto:
Github:
Artigos que podem te interessar: