LaunchLint Academy

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.