“Sign in with Apple” no iOS 13
Simples passos para iniciar sessão com a Apple no seu aplicativo.
Introdução
O recurso “Iniciar sessão com a Apple” foi criado do zero para respeitar sua privacidade e mantê-lo no controle de suas informações pessoais.
Passos
- Ativar o “Sign in with Apple”
- Importar a Biblioteca
- Carregar o Delegate
- Chamar as funções de sucesso e erro
- Configurar a solicitação das informações
- Criar o botão do Storyboard e vincular a Controller
- Configurar o botão
- E por fim, testar
Iniciando o projeto
Primeiro passo para criar seu projeto, escolha a opção ‘Single View App’ e vamos iniciar a nossa jornada!
Ativar o “Sign in with Apple”
Para começamos precisaremos ativar o recurso na nossa aplicação para isso vá em:
- Clique sobre o seu projeto
- Vá em ‘TARGETS’
- Clique em ‘Signing & Capabilities’
- De um clique duplo sobre ‘Sign in with Apple’
Prontinho, se estiver tudo ok com a sua assinatura com a Apple ele criara um arquivo de configuração básica da sua requisição.
Importar a Biblioteca
Vamos agora para a nossa classe ‘ViewController’ que vem por padrão nos projetos, que se encontra no arquivo ViewControler.swift
e importaremos a biblioteca AuthenticationServices
.
- Selecionar ‘ViewControler.swift’
- Importar ‘AuthenticationServices’
Carregar o Delegate
Bom, por convenção eu costumo chamar os delegates nas extensões das classes e por isso vou seguir esse padrão, mas deixando no mesmo arquivo para facilitar a visualização do projeto. E assim, na extensão chamaremos o ASAuthorizationControllerDelegate
.
Chamar as funções de sucesso e erro
A resposta da chamada chegará através da função authorizationController
que poderá ter sucesso com o didCompleteWithAuthorization
ou erro com a didCompleteWithError
.
didCompleteWithAuthorization
: Ao completar a requisição com sucesso a ‘authorization’ virá com as informações que foram solicitadas(ainda faremos essa função), no nosso caso pediremos o nome completo e o e-mail, ele tbm retorna o ID do usuário.didCompleteWithError
: No caso de erro poderemos realizar o tipo de tratamento adequado.
Configurar a solicitação das informações
Dentro da extensão da ‘ViewController’ ainda, faremos a configuracao da requisição com a função handleAppleIdRequest
:
- O mecanismo para a geração de requisições para autenticar os usuários baseados no Apple ID.
- O controle que gerencia a autorização da requisição criado.
- Declara que quem delega o controle é a ‘ViewController’
- Inicia o processo autorização.
Criar o botão do Storyboard e vincular a Controller
- Selecione o botão.
- Vá no inspetor de identidade.
- E mude a classe do botão para
ASAuthorizationAppleIDButton
.
Daremos o nome do nosso botão de ‘authorizationButton’. =D
Configurar o botão
Ainda na ‘ViewController’ na extensão criaremos a função setUpSignInAppleButton
, e a chamaremos no ‘viewDidLoad’ como abaixo:
setUpSignInAppleButton
: Adicionamos ao botão a chamada da requisição da função que criamos anteriormente.viewDidLoad
: Precisamos chamar aqui a funçãosetUpSignInAppleButton
.
E por fim, testar
Bom, por hoje é isso! Até a próxima 🙏🏻
Segue abaixo código completo e Github do projeto aqui.
Artigos que podem te interessar: