Pular para o conteúdo principal
Para enviar notificações push para aplicativos iOS, é necessária uma conexão autenticada ao Apple Push Notification Services (APNs). Você pode autenticar usando um método baseado em token (chave .p8) ou um método baseado em certificado (arquivo .p12) — mas apenas um é necessário.
Certificados .p12 expiram após um ano. Se você não quer gerenciar a renovação deste certificado, você pode criar uma chave .p8 em vez disso, que não expira.
Este guia irá orientá-lo na configuração de um arquivo baseado em certificado (.p12). Isso não é recomendado porque você deve renová-lo anualmente. Isso inclui fazer login na sua conta Apple Developer para gerar o novo certificado e enviá-lo ao seu painel OneSignal todos os anos.

Requisitos

Certifique-se de ter o seguinte antes de começar:
  • Um aplicativo mobile iOS.
  • Uma Conta Apple Developer paga com acesso de Admin.
  • Uma Conta OneSignal.
  • Um mac com Xcode 14+.
  • O Bundle ID para seu app target conforme definido no Xcode.
  • Um projeto Xcode com Push Notification capability habilitada.

Gerar um certificado push

Primeiro você precisa criar um arquivo de Solicitação de Assinatura de Certificado .certSigningRequest (CSR) no macOS.
  1. Abra o Acesso às Chaves: Applications > Utilities > Keychain Access
  2. Inicie o Assistente de Certificado
Na barra de menu, clique em: Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority…

Acesso às chaves do Mac

  1. Insira suas informações
Preencha os campos obrigatórios:
  • User Email Address: [email protected]
  • Common Name: Seu nome ou o nome para o certificado
  • CA Email Address: Deixe em branco
  • Request is: Selecione Saved to disk

Janela do Assistente de Certificado

  1. Clique em Continue
  • Escolha um local para salvar o arquivo .certSigningRequest
  • Clique em Save para finalizar
Agora você tem seu arquivo .certSigningRequest pronto para usar!

Habilitar push capabilities para o aplicativo

Pule esta etapa se você usa Automatically manage signing no Xcode.
  1. Vá para a seção Identifiers do portal Apple Developer, localize e selecione o App ID do seu aplicativo na lista.
  1. Habilite a capability Push Notifications marcando a caixa. ⚠️ Não clique em “Configure” — apenas habilite o toggle.

Criar um certificado push

Siga estes passos para gerar o certificado SSL do Apple Push Notification service (APNs):
  1. Visite a página de Certificados da Apple.
  2. Clique no botão plus (+) para criar um novo certificado.
  3. Em Services, selecione:
    • Apple Push Notification service SSL (Sandbox & Production)
    • Em seguida, clique em Continue
  4. Selecione seu App ID na lista e clique em Continue.
  1. Faça upload do arquivo .certSigningRequest gerado anteriormente.
  1. Clique em Continue, depois clique em Download para salvar o arquivo .cer resultante no seu computador.
Você usará este arquivo .cer para configurar os serviços de notificação push.

Criar uma chave privada e exportar o certificado .p12

  1. Clique duas vezes no arquivo .cer baixado para importá-lo para o Keychain Access.
  2. No Keychain Access, navegue para:
    • Keychains > Login
    • Category > My Certificates
  3. Localize o certificado chamado Apple Push Services.
  4. Clique com o botão direito no certificado e selecione Export.

Export irá gerar um arquivo .p12 no local desejado

  1. Escolha um local para salvar o arquivo e selecione o formato de arquivo como .p12. Quando solicitado, você pode definir uma senha para o arquivo .p12 (esta senha é necessária ao fazer upload para serviços como o OneSignal).

Fazer upload do .p12 para o OneSignal

  1. No seu painel do OneSignal, vá para seu aplicativo > Settings > Push & In-App > Apple iOS.
  2. Faça upload do arquivo .p12 (e insira a senha se você definiu uma). Clique em Save.
Você configurou com sucesso a autenticação APNs usando um certificado .p12 no OneSignal.Seu aplicativo iOS agora está pronto para enviar e receber notificações push! 🎉

Solução de problemas do .p12

Erro de formato de certificado inválido

Causa

O arquivo enviado não está no formato .p12.

Solução

Certifique-se de exportar o certificado do Keychain Access como .p12 (não .cer ou .pem).

”Incorrect password” ao fazer upload para o OneSignal

Causa

A senha foi inserida incorretamente ou não foi definida.

Solução

  • Tente exportar novamente e defina uma nova senha.
  • Certifique-se de que não há espaços extras ao colar.
  • Se estiver usando o Provisionator, a senha é mostrada na UI.

Chave privada ausente no arquivo exportado

Causa

O certificado foi importado mas não foi pareado com uma chave privada.

Solução

  • Certifique-se de gerar o CSR do Keychain Access na mesma máquina.
  • Após baixar o arquivo .cer, clique duas vezes para instalar e verifique se a chave aparece em My Certificates.

Notificações push não funcionam após upload

Causa

App ID incorreto ou Provisioning Profile sem capabilities.

Solução

  • Confirme se o .p12 corresponde ao App ID usado no aplicativo.
  • No Apple Developer Portal, certifique-se de que o App ID tem Push Notifications habilitadas.
  • Certifique-se de que o Provisioning Profile inclui Push.

Certificado expirado

Causa

O certificado .p12 não é mais válido.

Solução

  • Vá para Apple Developer > Certificates e verifique a expiração.
  • Revogue o certificado antigo e crie um novo.

Perguntas frequentes

Preciso de um provisioning profile e como criá-lo?

Sim, a Apple requer diferentes tipos de profiles para desenvolvimento, testes (Ad Hoc) e distribuição para a App Store. No Xcode, você deve ser capaz de selecionar Automatically manage signing para criar um automaticamente.
Caso contrário, consulte a documentação da Apple sobre provisioning profiles para detalhes.