iOSAppleXcodeApp StoreCode Signing

Cómo crear un certificado Apple Distribution

Sloth255
Sloth255
·6 min read·1,295 words

Para distribuir una aplicación iOS en el App Store, es imprescindible contar con un certificado Apple Distribution. Este certificado se usa para firmar el código de la aplicación y permite que Apple verifique que la app fue creada por un desarrollador legítimo.

Este artículo explica detalladamente cómo crear el certificado desde cero utilizando el panel de control del Apple Developer Program.


Requisitos previos

Antes de crear el certificado, verifica lo siguiente:

  • Inscripción en el Apple Developer Program ($99 USD/año)
  • Sesión iniciada con un Apple ID que tenga permisos de Admin o Account Holder
  • Xcode (se recomienda la versión más reciente) instalado en el Mac
  • Acceso al Acceso a Llaveros (app integrada en macOS)

Paso 1 — Crear un archivo CSR (Certificate Signing Request)

Una CSR (Certificate Signing Request) es el archivo que se envía a Apple para solicitar un certificado. Se crea con el Acceso a Llaveros.

  1. Abre el Acceso a Llaveros (busca "Llaveros" en Spotlight)
  2. En la barra de menús: Acceso a LlaverosAsistente de CertificadosSolicitar un Certificado De una Autoridad de Certificación...

Pantalla del Asistente de Certificados en Acceso a Llaveros

  1. Rellena los siguientes campos:

    Campo Contenido
    Dirección de correo del usuario Dirección de correo registrada en tu Apple ID
    Nombre común Un nombre descriptivo (ej.: MyApp Distribution)
    Dirección de correo de la AC Dejar en blanco
    La solicitud está Selecciona "Guardada en disco"

Diálogo para seleccionar la ubicación de guardado del CSR

  1. Haz clic en "Continuar" y guarda el archivo CSR (.certSigningRequest) en la ubicación que prefieras.

Paso 2 — Crear un nuevo certificado en el portal Apple Developer

Accede al sitio web de Apple Developer para emitir el certificado.

URL:
developer.apple.com › Account › Certificates, IDs & Profiles › Certificates

  1. Haz clic en el botón + (Añadir) en la esquina superior derecha
    Lista de certificados en Apple Developer

  2. En la sección Software, selecciona Apple Distribution y haz clic en "Continue"
    Pantalla de selección de Apple Distribution

  3. En la pantalla "Upload a Certificate Signing Request", sube el archivo .certSigningRequest creado en el Paso 1

  4. Haz clic en "Continue" → "Download" para descargar el archivo del certificado (.cer)
    Pantalla de descarga del certificado


Paso 3 — Descargar e instalar el certificado en el Llavero

  1. Haz doble clic en el archivo distribution.cer descargado
  2. Cuando aparezca el diálogo "¿Añadir al Llavero?", haz clic en "Añadir"
  3. Abre el Acceso a Llaveros y revisa la categoría "Mis certificados" en el llavero de Inicio de sesión
  4. Si aparece Apple Distribution: [Your Name/Team] (XXXXXXXXXX), la instalación fue exitosa

Haz clic en el botón ▶ Expandir a la izquierda del certificado para comprobar que aparece una clave privada (🔑). Si la clave privada no es visible, es posible que la CSR se haya generado en un Mac diferente o que la clave privada no exista en el llavero del Mac actual.


Paso 4 — Verificar que Xcode reconoce el certificado

Ubicación:
Xcode › Settings... › Accounts › Manage Certificates...

  1. Selecciona el Apple ID de destino y haz clic en "Manage Certificates..."
  2. Comprueba que aparece una entrada Apple Distribution en la lista
  3. En la pestaña Signing & Capabilities del proyecto, desactivar Automatically manage signing permite seleccionar manualmente el certificado Distribution.

Relación entre certificados y perfiles de aprovisionamiento

El sistema de firma de Apple se compone de tres elementos:

  • Certificado (Certificate): Demuestra qué desarrollador o equipo firmó la aplicación
  • App ID: Identifica de qué aplicación se trata
  • Perfil de aprovisionamiento (Provisioning Profile): Define qué combinación de certificado, App ID, dispositivos y funciones está autorizada para ejecutar o distribuir la aplicación

En resumen: el certificado identifica al firmante, el App ID identifica la aplicación, y el perfil de aprovisionamiento es un conjunto de condiciones de uso.


Diferencias con el certificado Apple Development

Elemento Apple Development Apple Distribution
Propietario Individual (nombre del Mac en el certificado) Equipo (Account Holder / Admin únicamente)
Uso en varios Macs ✅ Posible (via .p12) ✅ Posible (compartible en equipo via .p12)
Propósito Depuración y pruebas App Store / Ad Hoc
TestFlight ❌ No posible ✅ Posible
Firma en Xcode Esquema Debug Esquema Release
Número máximo 2 por equipo 3 por equipo
Validez 1 año 1 año

Certificado Apple Development vs. cuenta personal

  • Certificado Apple Development: Certificado oficial para equipos inscritos en el Apple Developer Program
  • Personal Team: Flujo de trabajo para pruebas en dispositivo sin inscripción al Developer Program
Elemento Personal Team (gratuito) Apple Development (Developer Program)
Requisito Solo cuenta Apple Inscripción al Developer Program
Uso principal Pruebas personales Desarrollo en equipo
Distribución ❌ No posible ❌ No posible
TestFlight / App Store Connect ❌ No posible ❌ No posible
Validez del perfil 7 días Normalmente 1 año
App IDs / Dispositivos Limitados Disponibles en el Developer Program
Funciones avanzadas Limitadas Más funciones disponibles

Tabla de correspondencia por método de distribución

Método Certificado Perfil de aprovisionamiento Notas
Depuración en dispositivo Apple Development Development Solo dispositivos registrados
TestFlight Apple Distribution Distribution App Store Connect Subir a App Store Connect
Publicación App Store Apple Distribution Distribution App Store Connect Tras revisión
Ad Hoc Apple Distribution Ad Hoc UDIDs registrados
Enterprise / In-House Apple Enterprise Distribution In-House Apple Developer Enterprise Program

Tanto TestFlight como la publicación en App Store utilizan el certificado Apple Distribution.


Firma automática vs. firma manual

Se recomienda activar Automatically manage signing en Xcode para la mayoría de los casos.

Considere la firma manual en las siguientes situaciones:

  • Control estricto sobre múltiples targets o Bundle Identifiers
  • Gestión explícita en pipeline CI/CD
  • Uso de Fastlane Match para gestión centralizada
  • Los perfiles automáticos de Xcode no ofrecen el control deseado

Errores frecuentes y soluciones

🔴 "No se encontró clave privada para el certificado"

  • .cer instalado en otro Mac: La clave privada solo existe en el Mac donde se generó la CSR
  • Migración o reemplazo del Mac: La clave privada no se movió correctamente
  • Restablecimiento del Llavero: La clave privada se pierde
  • Re-descarga del .cer: Descargado en un Mac diferente al de la CSR
# Pasos para exportar .p12 (Acceso a Llaveros)
# 1. Abrir Acceso a Llaveros
# 2. Clic derecho en el certificado objetivo
#    → "Exportar 'Apple Distribution: ...'"
# 3. Establecer contraseña y guardar el .p12
# 4. Doble clic en el otro Mac para importar

🔴 Certificado expirado

Los certificados son válidos 1 año. Renueve en este orden:

  1. Crear nuevo certificado Apple Distribution
  2. Regenerar perfiles de aprovisionamiento si es necesario
  3. Actualizar certificado y perfil en Xcode o CI/CD
  4. Redistribuir el nuevo .p12 al equipo

🔴 Error "Maximum number of certificates generated"

Máximo 3 certificados Distribution. Elimine los innecesarios antes de crear uno nuevo.


Resumen

  1. Generar una CSR (.certSigningRequest) con Acceso a Llaveros
  2. Crear un nuevo certificado Apple Distribution en developer.apple.com y subir la CSR
  3. Doble clic en el .cer descargado para instalarlo en el Llavero
  4. Verificar que el certificado está reconocido en la configuración de Cuentas de Xcode

Para el desarrollo en equipo, explore métodos de compartición segura de .p12 o herramientas como Fastlane Match.


Enlaces de referencia (oficiales de Apple)