Guía técnica de release

Firma, Bundle ID y versiones de apps

La identidad técnica conecta proyecto, firma, ficha e integraciones. Una diferencia pequeña puede bloquear el upload o una actualización.

LaunchLint Academy

18 min de lecturaEdición y revisión de fuentes: Rene DresselPolítica editorial
Bundle ID de iOS y package Android conectados con firma, versiones y build de la tienda
Bundle ID y applicationId son la identidad técnica duradera. Deben coincidir con la ficha, la firma, las capacidades, OAuth y el artefacto subido.
TL;DR

La respuesta breve

Bundle ID y applicationId son la identidad técnica duradera. Deben coincidir con la ficha, la firma, las capacidades, OAuth y el artefacto subido.

  • Separa la versión visible del número técnico, incrementa los contadores y comprueba qué decisiones dejan de ser modificables tras el primer upload.

Pruebas necesarias para publicar

No revises identidad, firma y versionado de la app como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Separa tres niveles de prueba para identidad, firma y versionado de la app: configuración visible en los archivos, comportamiento en un dispositivo limpio y ajustes externos de Apple Developer, App Store Connect o Play Console. La revisión solo es fiable cuando los tres describen el mismo candidato. Asigna responsable y criterio de parada a cada diferencia.

Pruebas necesarias para publicar

  • Valor de producción para elegir la identidad técnica identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

1. Elegir la identidad técnica

Usa identificadores reverse-DNS que puedan permanecer con el producto.

No revises elegir la identidad técnica como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para elegir la identidad técnica identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

2. Alinear el Bundle ID de Apple

CFBundleIdentifier, App ID y ficha deben coincidir exactamente.

No revises alinear el bundle id de apple como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para alinear el bundle id de apple identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

3. Entender applicationId

Distingue applicationId, package y namespace de Gradle.

No revises entender applicationid como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para entender applicationid identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

4. Verificar la firma

Comprueba equipo Apple, provisioning, upload key y Play App Signing.

No revises verificar la firma como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para verificar la firma identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

5. Separar versión y build

La versión es visible; buildNumber y versionCode identifican artefactos.

No revises separar versión y build como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para separar versión y build identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

6. Resolver la configuración

Plugins, flavors y variables pueden cambiar valores nativos.

No revises resolver la configuración como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para resolver la configuración identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

7. Mapear integraciones

Push, enlaces, OAuth y pagos dependen a menudo de la identidad.

No revises mapear integraciones como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para mapear integraciones identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

8. Aprobar el artefacto

Compara ficha, metadatos, firma, versión y app instalada.

No revises aprobar el artefacto como un interruptor aislado. Relaciónalo con identidad, firma y versionado de la app, el artefacto de producción firmado y los valores de la consola. Documenta qué archivo genera el ajuste, si un framework o plugin puede modificarlo durante el build y cómo comprobaste el valor resuelto. Una entrada razonable en el proyecto no demuestra que el binario subido contenga la misma configuración.

Pruebas necesarias para publicar

  • Valor de producción para aprobar el artefacto identificado
  • Archivo o ajuste responsable enlazado
  • Configuración nativa resuelta comprobada
  • Artefacto firmado probado en un dispositivo limpio
  • Diferencias entre iOS y Android documentadas
  • Cada discrepancia tiene responsable y criterio de parada

Preguntas frecuentes

¿Puedo cambiar el Bundle ID?

No como un nombre visible dentro de la misma ficha.

¿Package y namespace son iguales?

Pueden coincidir, pero applicationId identifica la app publicada.

¿Puedo reutilizar el build?

Los nuevos uploads necesitan versiones técnicas válidas y crecientes.

¿LaunchLint valida certificados?

Detecta configuración, pero no claves privadas ni propiedad de las cuentas.

Fuentes primarias oficiales

Este artículo se basa en las siguientes fuentes primarias oficiales. Las reglas pueden cambiar; comprueba siempre la versión vigente antes de enviar.