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.

Gois
Apple Developer Academy | Mackenzie
3 min readJul 6, 2019

--

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):

Resultado final.

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:

info.plist - adicionando política de privacidade.

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:

--

--

Gois
Apple Developer Academy | Mackenzie

 iOS Developer | Student | Researcher | Innovation Enthusiast.