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.
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.
- Abra o Acesso às Chaves: Applications > Utilities > Keychain Access
- Inicie o Assistente de Certificado

Acesso às chaves do Mac
- Insira suas informações
- 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
- Clique em Continue
- Escolha um local para salvar o arquivo
.certSigningRequest - Clique em Save para finalizar
.certSigningRequest pronto para usar!
Habilitar push capabilities para o aplicativo
Pule esta etapa se você usa Automatically manage signing no Xcode.- Vá para a seção Identifiers do portal Apple Developer, localize e selecione o App ID do seu aplicativo na lista.

- 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):- Visite a página de Certificados da Apple.
- Clique no botão plus (+) para criar um novo certificado.
-
Em Services, selecione:
- Apple Push Notification service SSL (Sandbox & Production)
- Em seguida, clique em Continue

- Selecione seu App ID na lista e clique em Continue.

- Faça upload do arquivo
.certSigningRequestgerado anteriormente.

- Clique em Continue, depois clique em Download para salvar o arquivo
.cerresultante no seu computador.

.cer para configurar os serviços de notificação push.
Criar uma chave privada e exportar o certificado .p12
-
Clique duas vezes no arquivo
.cerbaixado para importá-lo para o Keychain Access. -
No Keychain Access, navegue para:
- Keychains > Login
- Category > My Certificates
- Localize o certificado chamado Apple Push Services.
- Clique com o botão direito no certificado e selecione Export.

Export irá gerar um arquivo .p12 no local desejado
- 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
- No seu painel do OneSignal, vá para seu aplicativo > Settings > Push & In-App > Apple iOS.
- 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
.p12corresponde 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.