Ligações e mensagens de forma nativa via app — Swift
É interessante sempre que formos fazer um aplicativo que possua algum número informativo, ter a opção de poder clicá-lo para fazer ligação ou enviar uma mensagem. Assim, o usuário não precisa sair do nosso app para fazer tal tarefa.
Para esse projeto eu desenvolvi uma interface simples, que contem apenas um text field e dois botões que aparecem conforme o número for sendo digitado, um para ligação e o outro para mensagem. Mas, vamos por partes!
Ligações
Essa é a parte mais simples, iremos verificar se existe um número no nosso campo de texto e iremos abrir o aplicativo de ligações com esse número.
Linhas 2 e 3: verifico se o campo de texto não está vazio e se é possível abrir o app de ligações com o número digitado, respectivamente.
Lembre-se: sempre muito importante tratar os possíveis erros do seu aplicativo para que o usuário entenda em qual estado ele se encontra atualmente. Eu, particularmente, gosto de fazer isso com UIAlerts, são simples de implementar e poderosos para passar a mensagem.
Mensagens
Agora, por essa parte ser um pouco mais robusta, eu decidi implementá-la em um arquivo diferente. Então vamos lá:
Aqui ficou um pouco maior, mas ainda se mantém simples.
Linha 1: importa a biblioteca necessária para usarmos o componente de mensagens.
Linha 6: cria uma classe que recebe um número como parâmetro (em String) e retorna a view de mensagem.
Linha 7: verifica se o dispositivo pode enviar mensagens.
Linha 8: instancia a view de mensagens.
Linha 9: passa o número para essa view.
Linha 10: aponta quem é o delegate desse componente. No caso esse delegate é implementado na extension abaixo (linha 19) e serve para dar dismiss na view assim que termrinarmos a ação.
Por fim, voltamos a nossa view onde implementaremos a ação de mandar mensagem e apresentamos nosso componente:
De forma simples e rápida é possível termos um resultado bem legal:
Deixo aqui o link do projeto implementado no meu GitHub. Qualquer dúvida ou dica é só entrar em contato!