App Bundle ID — qué es, identificador de aplicación y registro

Autor: IT Sectr Publicado: 2026-04-17 Tiempo de lectura: 8 min

App Bundle ID — es un identificador único de aplicación utilizado en los ecosistemas de Apple y Google para el registro, la firma y la distribución de un producto de software. Cada aplicación obtiene su Bundle ID al crear el proyecto, y este identificador permanece sin cambios durante todo su ciclo de vida. Según la Documentación para Desarrolladores de Apple, el Bundle ID se utiliza para vincular servicios, certificados y perfiles de aprovisionamiento.

Puntos clave

  • App Bundle ID — un identificador global, único para cada aplicación en la tienda
  • Formato basado en la notación inversa de dominio: com.company.appname
  • Registro se realiza en App Store Connect y Google Play Console
  • Cambio del Bundle ID tras la publicación es imposible sin crear una nueva aplicación
  • Vinculación de servicios (Push, CloudKit, Firebase) se realiza mediante el Bundle ID

Qué es App Bundle ID

Bundle Identifier es una cadena que identifica de manera única una aplicación en el sistema operativo y en la tienda de aplicaciones. En iOS y macOS se llama Bundle ID, en Android — Package Name, aunque funcionalmente ambos cumplen el mismo rol: garantizar la unicidad de la aplicación en el dispositivo y en la tienda.

Propósito del Bundle ID

El sistema operativo utiliza el Bundle ID para diferenciar aplicaciones en el dispositivo. Dos aplicaciones con el mismo identificador no pueden instalarse simultáneamente — el sistema las trata como el mismo producto. Las tiendas de aplicaciones también verifican la unicidad del Bundle ID durante la publicación.

Historia y estándares de nomenclatura

Apple introdujo el Bundle ID con el lanzamiento del iOS SDK en 2008. El formato de notación inversa de dominio fue tomado de Java (convención de nomenclatura de paquetes), donde se utiliza para evitar conflictos de nombres de clases. Google adoptó esta práctica para Android, garantizando coherencia en ambos ecosistemas móviles.

PlataformaNombre del campoEjemplo
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Cómo funciona el formato Bundle ID

El Bundle ID consta de varios segmentos separados por puntos. La primera parte es el identificador del desarrollador o la empresa (com, org, net). La segunda es el dominio de la empresa (example, google, apple). Los segmentos siguientes especifican el nombre de la aplicación y la plataforma.

Estructura del Bundle ID

Un Bundle ID típico tiene el formato com.company.appname. Apple recomienda usar la notación inversa de dominio para garantizar la unicidad global. Si la empresa no tiene dominio, se permite usar el email: com.example.myapp o org.example.myapp.

  • Segmento 1 — TLD en orden inverso: com, org, io, net
  • Segmento 2 — dominio de la empresa o desarrollador: google, apple, mycompany
  • Segmento 3 — nombre de la aplicación: maps, mail, notes
  • Adicional — plataforma o extensión: watchkit, todaywidget

Wildcard Bundle ID

Apple admite Wildcard Bundle ID — una plantilla de identificador con asterisco: com.example.*. Esta plantilla permite usar un mismo App ID para múltiples aplicaciones de una misma empresa. El Wildcard ID es conveniente durante el desarrollo, pero no se recomienda para producción porque limita el uso de algunos servicios de Apple.

Limitaciones del wildcard: Las notificaciones Push, CloudKit, Compras Integradas (In-App Purchase) y Game Center requieren un Bundle ID explícito. Al usar la plantilla com.example.*, estos servicios no están disponibles. Para aplicaciones en producción, use siempre un Bundle ID explícito para garantizar la funcionalidad completa de todos los servicios de Apple.

Además del wildcard, Apple admite identificadores con prefijo que se asignan al equipo de desarrollo al registrarse en el Apple Developer Program. El prefijo (Team ID) se agrega automáticamente a todos los App ID y perfiles de aprovisionamiento. Dos Team ID diferentes pueden crear el mismo Bundle ID, pero en el dispositivo se consideran aplicaciones distintas.

Registro de Bundle ID en consolas

El registro del Bundle ID es un paso obligatorio antes de publicar una aplicación. En el ecosistema de Apple, el registro se realiza en el Apple Developer Portal a través de la sección Certificates, Identifiers & Profiles. En Google Play, el Bundle ID se especifica al crear la aplicación en la consola de desarrollador.

Registro en Apple Developer Portal

En el portal Apple Developer, seleccione la sección Identifiers, haga clic en el botón Register y especifique el tipo de App ID. Ingrese el nombre exacto del Bundle ID y seleccione las capacidades necesarias: Push Notifications, CloudKit, Sign in with Apple. Después del registro, el identificador estará disponible para crear perfiles de aprovisionamiento.

swift
// Verificación de Bundle ID en el código de la aplicación
let bundleID = Bundle.main.bundleIdentifier
print("Current Bundle ID: \(bundleID ?? "unknown")")

// Verificación de Bundle ID para condiciones de compilación
if bundleID == "com.example.app.production" {
    // Configuración de producción
    Analytics.shared.configure(.production)
}

Registro en Google Play Console

Google Play Console no requiere un registro previo del Bundle ID. El identificador se especifica en el archivo build.gradle del módulo de la aplicación y debe ser único en todo Google Play. Después de crear la aplicación, es imposible cambiar el Package Name, así que elija el identificador cuidadosamente y verifique su unicidad mediante una búsqueda en Google Play. Google no libera los identificadores de aplicaciones eliminadas, por lo que un Bundle ID una vez ocupado permanece inaccesible para otros desarrolladores.

Al registrarse en App Store Connect, debe especificar un Bundle ID del conjunto existente de identificadores registrados. Si el identificador aún no está registrado en el portal Apple Developer, el sistema ofrecerá crearlo automáticamente. Después del registro, el Bundle ID se vincula al equipo y no puede transferirse a otra cuenta de desarrollador sin contactar al soporte de Apple. Cada Bundle ID puede tener múltiples perfiles de aprovisionamiento para diferentes entornos: Development, Ad Hoc, App Store.

Al registrar un Bundle ID para una aplicación iOS con extensiones, cada componente debe registrarse por separado. Las extensiones de widgets, teclados, Notification Service y Watch App tienen sus propios identificadores derivados del principal. App Store Connect los agrupa al crear un App Record, lo que permite publicar todos los componentes como una sola aplicación.

Configuración de Bundle ID en proyecto Xcode

La configuración del Bundle ID en Xcode se realiza en varios lugares: Info.plist, Build Settings y Signing & Capabilities. El campo central es Bundle Identifier en el target de la aplicación. Todos los servicios de Apple, desde notificaciones Push hasta CloudKit, se vinculan a este identificador. Un Bundle ID incorrecto provoca errores de firma y la imposibilidad de publicar en App Store.

Cambio de Bundle ID en Xcode

xml
<!-- Info.plist — Bundle ID base del proyecto -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

<!-- Build Settings — variable PRODUCT_BUNDLE_IDENTIFIER -->
<!-- Debug: com.example.app.dev -->
<!-- Release: com.example.app -->

Xcode utiliza la variable PRODUCT_BUNDLE_IDENTIFIER en Build Settings. Se pueden establecer diferentes valores para distintas configuraciones de compilación: com.example.app.dev para Debug y com.example.app para Release. Esto es conveniente para instalar una versión de desarrollo junto con la versión de producción en el mismo dispositivo para realizar pruebas.

Configuración multi-target

Si la aplicación tiene extensiones (Notification Service, Widget, Watch App), cada extensión obtiene su propio Bundle ID con un sufijo. Aplicación principal: com.example.app. Extensión de widget: com.example.app.widget. Watch App: com.example.app.watchkit. Cada identificador se registra por separado en el Apple Developer Portal y recibe su propio perfil de aprovisionamiento. Xcode gestiona automáticamente estas dependencias durante la compilación.

Diferencias entre App Bundle ID y Package Name

App Bundle ID (Apple) y Package Name (Google) son entidades similares con el mismo propósito pero diferentes reglas de uso en los ecosistemas iOS y Android. Ambos identificadores usan notación inversa de dominio y no pueden cambiarse después de la publicación en tiendas oficiales de aplicaciones.

Diferencias funcionales

En el ecosistema Apple, el Bundle ID está vinculado al perfil de aprovisionamiento y los certificados. Al cambiar de equipo de desarrollo, el Bundle ID se puede transferir entre cuentas a través de App Store Connect. En Android, el Package Name está estrictamente vinculado a la aplicación en Google Play y no se puede transferir entre cuentas de desarrollador.

CaracterísticaiOS Bundle IDAndroid Package Name
Longitud máximaSin límite150 caracteres
Separador de segmentosPunto (.)Punto (.)
Caracteres permitidosA-Z, a-z, 0-9, punto, guiónA-Z, a-z, 0-9, punto, guión bajo
WildcardSoportado (*)No soportado
Uso en códigoBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

A pesar de las diferencias, ambos identificadores cumplen un rol crítico: sin ellos es imposible publicar una aplicación en una tienda oficial. Recomendación para proyectos multiplataforma — use el mismo identificador en las versiones iOS y Android para simplificar la integración con Firebase, Analytics y otros servicios. Esto también simplifica la navegación para el equipo de desarrollo: un identificador para ambos proyectos reduce la confusión al configurar CI/CD y la configuración de entornos.

Al desarrollar con Flutter o React Native, un identificador único es especialmente importante ya que la base de código es compartida y muchas herramientas de compilación automatizada esperan el mismo nombre de paquete para ambas plataformas. Un proyecto de Firebase también se vincula a un único identificador para iOS y Android, simplificando la configuración de analíticas y reportes de fallos.

Preguntas frecuentes

¿Se puede cambiar el Bundle ID después de publicar la aplicación?

Cambiar el Bundle ID después de la publicación en App Store o Google Play es imposible. El sistema tratará el nuevo identificador como una aplicación completamente diferente. Para actualizar un producto existente, el Bundle ID debe permanecer sin cambios durante todo el ciclo de vida de la aplicación.

¿Qué sucede si dos aplicaciones tienen el mismo Bundle ID?

Un dispositivo iOS o Android no permitirá instalar una segunda aplicación con el mismo identificador sobre la primera. El sistema mostrará un error y sugerirá eliminar la aplicación existente. En las tiendas, la publicación con un Bundle ID duplicado también se bloqueará.

¿Cómo elegir correctamente un Bundle ID para un nuevo proyecto?

Use la notación inversa de dominio de su empresa: com.companyname.appname. Evite guiones y caracteres especiales. Si la aplicación tiene extensiones, agregue sufijos separados por puntos. Asegúrese de que el identificador sea único y no esté ocupado por otro desarrollador.

¿Cada extensión de aplicación necesita un Bundle ID separado?

Sí, cada extensión — widget, Watch App, Notification Service — requiere su propio Bundle ID. Los identificadores forman una jerarquía: com.example.app como base, com.example.app.widget para el widget, com.example.app.watchkit para Watch. Todos se registran por separado en el Apple Developer Portal y comparten un App ID común con la aplicación principal.

¿Cuál es la diferencia entre Bundle ID y App ID en el portal Apple Developer?

Bundle ID es una cadena identificadora en el código de la aplicación. App ID es un objeto en el Apple Developer Portal que combina un Bundle ID con un conjunto de servicios habilitados (capabilities). App ID se crea basándose en el Bundle ID y se utiliza para generar perfiles de aprovisionamiento.

Resumen

  • App Bundle ID — un identificador único de aplicación en los ecosistemas iOS y Android
  • Formato basado en notación inversa de dominio: com.company.appname
  • Cambio del Bundle ID tras la publicación es imposible sin crear una nueva aplicación en la tienda
  • Wildcard Bundle ID com.example.* es conveniente para desarrollo pero incompatible con Push, CloudKit y Compras Integradas
  • Extensiones obtienen sus propios Bundle ID con sufijos separados por punto
  • Registro se realiza en Apple Developer Portal y Google Play Console respectivamente
  • Recomendación — elija el identificador con cuidado, verifique la unicidad antes de publicar

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también