Abrindo páginas web com Safari Services — Swift
Um ponto bem legal dentro de um aplicativo é o fato de conseguir acessar links na web através deles, como por exemplo quando você está navegando no Instagram e tem um link para alguma loja. Nota-se que nesse exemplo a sua navegação fica travada, ou seja, você não consegue acessar outra URL pelo link que você abriu.
Nesse artigo eu ensinarei a abrir uma página web pelo seu app e travar a navegação do usuário somente na página aberta, para que as chances dele voltar para a aplicação sejam maiores.
Para esse exemplo, eu me aproveitei de uma interface bem simples: apenas um text field para colocar a URL do site e um botão para abrir a página no Safari.
Abrindo o navegador com a URL
Para implementar essa parte mais simples irei utilizar um recurso muito conhecido que é o método open, ele é responsável por abrir um recurso em uma URL específica de forma assíncrona.
Com a implementação acima já é possível abrir uma página web no Safari. Todavia, essa implementação não é tão interessante, visto que a possibilidade do usuário começar a pesquisar outras coisas dentro do Safari é bem alta. Para resolver isso utilizaremos a biblioteca SafariServices.
Safari Services
Essa biblioteca proporciona a visualização e serviços web dentro do seu app.
Para adaptarmos nosso código precisamos importa-la e substituir o método open pela apresentação de um SFViewController(url:) .
E voilá! Simples e extremamente útil. Com isso você já consegue reproduzir o que grandes aplicativos como Instagram, Twitter, Facebook… fazem.
Deixo abaixo alguns links úteis, junto com eles a implementação de um projetinho no meu GitHub. Qualquer dica ou dúvida é só entrar em contato!