Saltar al contenido principal
Para enviar notificaciones push a aplicaciones iOS, se requiere una conexión autenticada a Apple Push Notification Services (APNs). Puedes autenticarte usando un método basado en token (clave .p8) o un método basado en certificado (archivo .p12), pero solo uno es necesario.
Los certificados .p12 expiran después de un año. Si no quieres gestionar la renovación de este certificado, puedes crear una clave .p8 en su lugar, que no expira.
Esta guía te guiará a través de la configuración de un archivo basado en certificado (.p12). Esto no se recomienda porque debes renovarlo anualmente. Esto incluye iniciar sesión en tu cuenta de Apple Developer para generar el nuevo certificado y cargarlo en tu panel de OneSignal cada año.

Requisitos

Asegúrate de tener lo siguiente antes de comenzar:

Generar un certificado push

Primero necesitas crear un archivo de solicitud de firma de certificado .certSigningRequest (CSR) en macOS.
  1. Abre Acceso a Llaveros: Aplicaciones > Utilidades > Acceso a Llaveros
  2. Inicia el Asistente de certificados
Desde la barra de menú, haz clic en: Acceso a Llaveros > Asistente de certificados > Solicitar un certificado de una autoridad de certificación…

Acceso a llaveros de Mac

  1. Ingresa tu información
Completa los campos requeridos:
  • Dirección de correo electrónico del usuario: [email protected]
  • Nombre común: Tu nombre o el nombre del certificado
  • Dirección de correo electrónico de la CA: Deja esto en blanco
  • La solicitud es: Selecciona Guardada en el disco

Ventana del Asistente de certificados

  1. Haz clic en Continuar
  • Elige una ubicación para guardar el archivo .certSigningRequest
  • Haz clic en Guardar para finalizar
¡Ahora tienes tu archivo .certSigningRequest listo para usar!

Habilitar capacidades de push para la aplicación

Omite esto si usas Gestionar firma automáticamente dentro de Xcode.
  1. Ve a la sección de identificadores del portal de Apple Developer, localiza y selecciona el ID de aplicación de tu aplicación de la lista.
  1. Habilita la capacidad de notificaciones push marcando la casilla. ⚠️ No hagas clic en “Configure”: solo habilita el interruptor.

Crear un certificado push

Sigue estos pasos para generar el certificado SSL del servicio de notificaciones push de Apple (APNs):
  1. Visita la página de certificados de Apple.
  2. Haz clic en el botón más (+) para crear un nuevo certificado.
  3. En Services, selecciona:
    • Apple Push Notification service SSL (Sandbox & Production)
    • Luego haz clic en Continuar
  4. Selecciona tu ID de aplicación de la lista y haz clic en Continuar.
  1. Carga tu archivo .certSigningRequest generado previamente.
  1. Haz clic en Continuar, luego haz clic en Descargar para guardar el archivo .cer resultante en tu computadora.
Usarás este archivo .cer para configurar los servicios de notificaciones push.

Crear una clave privada y exportar el certificado .p12

  1. Haz doble clic en el archivo .cer descargado para importarlo en Acceso a Llaveros.
  2. En Acceso a Llaveros, navega a:
    • Llaveros > Inicio de sesión
    • Categoría > Mis certificados
  3. Localiza el certificado llamado Apple Push Services.
  4. Haz clic derecho en el certificado y selecciona Exportar.

La exportación generará un archivo .p12 en la ubicación de archivo deseada

  1. Elige una ubicación para guardar el archivo y selecciona el formato de archivo como .p12. Cuando se te solicite, puedes establecer una contraseña para el archivo .p12 (esta contraseña es obligatoria al cargar a servicios como OneSignal).

Cargar el .p12 a OneSignal

  1. En tu panel de OneSignal, ve a tu aplicación > Settings > Push & In-App > Apple iOS.
  2. Carga el archivo .p12 (e ingresa la contraseña si estableciste una). Haz clic en Guardar.
Has configurado correctamente la autenticación de APNs usando un certificado .p12 en OneSignal.¡Tu aplicación iOS ahora está lista para enviar y recibir notificaciones push! 🎉

Solución de problemas de .p12

Error de formato de certificado inválido

Causa

El archivo cargado no está en formato .p12.

Solución

Asegúrate de exportar el certificado desde Acceso a Llaveros como .p12 (no .cer o .pem).

”Contraseña incorrecta” al cargar a OneSignal

Causa

La contraseña se ingresó incorrectamente o no se estableció.

Solución

  • Intenta exportar nuevamente y establece una nueva contraseña.
  • Asegúrate de que no se agreguen espacios adicionales al pegar.
  • Si usas Provisionator, la contraseña se muestra en la interfaz de usuario.

Falta la clave privada en el archivo exportado

Causa

El certificado se importó pero no está emparejado con una clave privada.

Solución

  • Asegúrate de generar el CSR desde Acceso a Llaveros en la misma máquina.
  • Después de descargar el archivo .cer, haz doble clic para instalarlo y verifica si la clave aparece en Mis certificados.

Las notificaciones push no funcionan después de cargar

Causa

ID de aplicación incorrecto o el perfil de aprovisionamiento carece de capacidades.

Solución

  • Confirma que el .p12 coincida con el ID de aplicación usado en la aplicación.
  • En el portal de Apple Developer, asegúrate de que el ID de aplicación tenga notificaciones push habilitadas.
  • Asegúrate de que el perfil de aprovisionamiento incluya Push.

Certificado expirado

Causa

El certificado .p12 ya no es válido.

Solución

  • Ve a Apple Developer > Certificados y verifica la fecha de expiración.
  • Revoca el certificado antiguo y crea uno nuevo.

Preguntas frecuentes

¿Necesito un perfil de aprovisionamiento y cómo crearlo?

Sí, Apple requiere diferentes tipos de perfiles para desarrollo, pruebas (Ad Hoc) y distribución en la App Store. En Xcode, deberías poder seleccionar Gestionar firma automáticamente para crear uno automáticamente.
De lo contrario, consulta la documentación de Apple sobre perfiles de aprovisionamiento para obtener detalles.