App Bundle ID — o que é, identificador de aplicativo e registro

Autor: IT Sectr Publicado: 2026-04-17 Tempo de leitura: 8 min

App Bundle ID — é um identificador único de aplicativo usado nos ecossistemas Apple e Google para registro, assinatura e distribuição de um produto de software. Cada aplicativo recebe seu Bundle ID ao criar o projeto, e este identificador permanece inalterado durante todo o ciclo de vida. De acordo com a Documentação para Desenvolvedores da Apple, o Bundle ID é usado para vincular serviços, certificados e perfis de provisionamento.

Principais pontos

  • App Bundle ID — um identificador global, único para cada aplicativo na loja
  • Formato baseado em notação reversa de domínio: com.company.appname
  • Registro é feito no App Store Connect e no Google Play Console
  • Alteração do Bundle ID após a publicação é impossível sem criar um novo aplicativo
  • Vinculação de serviços (Push, CloudKit, Firebase) é feita através do Bundle ID

O que é App Bundle ID

Bundle Identifier é uma string que identifica exclusivamente um aplicativo no sistema operacional e na loja de aplicativos. No iOS e macOS é chamado de Bundle ID, no Android — Package Name, embora funcionalmente ambos desempenhem o mesmo papel: garantir a exclusividade do aplicativo no dispositivo e na loja.

Propósito do Bundle ID

O sistema operacional usa o Bundle ID para diferenciar aplicativos no dispositivo. Dois aplicativos com o mesmo identificador não podem ser instalados simultaneamente — o sistema os trata como o mesmo produto. As lojas de aplicativos também verificam a exclusividade do Bundle ID durante a publicação.

História e padrões de nomenclatura

A Apple introduziu o Bundle ID com o lançamento do iOS SDK em 2008. O formato de notação reversa de domínio foi emprestado do Java (convenção de nomenclatura de pacotes), onde é usado para evitar conflitos de nomes de classes. O Google adotou essa prática para o Android, garantindo consistência em ambos os ecossistemas móveis.

PlataformaNome do campoExemplo
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Como funciona o formato Bundle ID

O Bundle ID consiste em vários segmentos separados por pontos. A primeira parte é o identificador do desenvolvedor ou empresa (com, org, net). A segunda é o domínio da empresa (example, google, apple). Os segmentos seguintes especificam o nome do aplicativo e a plataforma.

Estrutura do Bundle ID

Um Bundle ID típico tem o formato com.company.appname. A Apple recomenda usar a notação reversa de domínio para garantir exclusividade global. Se a empresa não tiver domínio, é permitido usar email: com.example.myapp ou org.example.myapp.

  • Segmento 1 — TLD em ordem inversa: com, org, io, net
  • Segmento 2 — domínio da empresa ou desenvolvedor: google, apple, mycompany
  • Segmento 3 — nome do aplicativo: maps, mail, notes
  • Adicional — plataforma ou extensão: watchkit, todaywidget

Wildcard Bundle ID

A Apple oferece suporte a Wildcard Bundle ID — um modelo de identificador com asterisco: com.example.*. Este modelo permite usar um mesmo App ID para vários aplicativos da mesma empresa. O Wildcard ID é conveniente durante o desenvolvimento, mas não é recomendado para produção, pois limita o uso de alguns serviços da Apple.

Limitações do wildcard: Notificações Push, CloudKit, Compras no Aplicativo (In-App Purchase) e Game Center exigem um Bundle ID explícito. Ao usar o modelo com.example.*, esses serviços ficam indisponíveis. Para aplicativos em produção, use sempre um Bundle ID explícito para garantir a funcionalidade completa de todos os serviços da Apple.

Além do wildcard, a Apple oferece suporte a identificadores com prefixo que são atribuídos à equipe de desenvolvimento ao se registrar no Apple Developer Program. O prefixo (Team ID) é adicionado automaticamente a todos os App IDs e perfis de provisionamento. Dois Team IDs diferentes podem criar o mesmo Bundle ID, mas no dispositivo são considerados aplicativos distintos.

Registro de Bundle ID em consoles

O registro do Bundle ID é uma etapa obrigatória antes de publicar um aplicativo. No ecossistema Apple, o registro é feito no Apple Developer Portal através da seção Certificates, Identifiers & Profiles. No Google Play, o Bundle ID é especificado ao criar o aplicativo no console do desenvolvedor.

Registro no Apple Developer Portal

No portal Apple Developer, selecione a seção Identifiers, clique no botão Register e especifique o tipo de App ID. Insira o nome exato do Bundle ID e selecione os recursos necessários: Push Notifications, CloudKit, Sign in with Apple. Após o registro, o identificador fica disponível para criar perfis de provisionamento.

swift
// Verificação de Bundle ID no código do aplicativo
let bundleID = Bundle.main.bundleIdentifier
print("Current Bundle ID: \(bundleID ?? "unknown")")

// Verificação de Bundle ID para condições de compilação
if bundleID == "com.example.app.production" {
    // Configuração de produção
    Analytics.shared.configure(.production)
}

Registro no Google Play Console

Google Play Console não exige registro prévio do Bundle ID. O identificador é especificado no arquivo build.gradle do módulo do aplicativo e deve ser único em todo o Google Play. Após criar o aplicativo, é impossível alterar o Package Name, portanto escolha o identificador cuidadosamente e verifique sua exclusividade através de uma pesquisa no Google Play. O Google não libera identificadores de aplicativos removidos, portanto um Bundle ID uma vez ocupado permanece indisponível para outros desenvolvedores.

Ao se registrar no App Store Connect, você deve especificar um Bundle ID do conjunto existente de identificadores registrados. Se o identificador ainda não estiver registrado no portal Apple Developer, o sistema oferecerá criá-lo automaticamente. Após o registro, o Bundle ID é vinculado à equipe e não pode ser transferido para outra conta de desenvolvedor sem entrar em contato com o suporte da Apple. Cada Bundle ID pode ter vários perfis de provisionamento para diferentes ambientes: Development, Ad Hoc, App Store.

Ao registrar um Bundle ID para um aplicativo iOS com extensões, cada componente deve ser registrado separadamente. Extensões de widgets, teclados, Notification Service e Watch App têm seus próprios identificadores derivados do principal. O App Store Connect os agrupa ao criar um App Record, permitindo publicar todos os componentes como um único aplicativo.

Configuração de Bundle ID no projeto Xcode

A configuração do Bundle ID no Xcode é feita em vários lugares: Info.plist, Build Settings e Signing & Capabilities. O campo central é Bundle Identifier no target do aplicativo. Todos os serviços da Apple, desde notificações Push até CloudKit, são vinculados a este identificador. Um Bundle ID especificado incorretamente causa erros de assinatura e a impossibilidade de publicar na App Store.

Alteração de Bundle ID no Xcode

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

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

O Xcode usa a variável PRODUCT_BUNDLE_IDENTIFIER nas Build Settings. Valores diferentes podem ser definidos para diferentes configurações de compilação: com.example.app.dev para Debug e com.example.app para Release. Isso é conveniente para instalar uma versão de desenvolvimento junto com a versão de produção no mesmo dispositivo para testes.

Configuração multi-target

Se o aplicativo tiver extensões (Notification Service, Widget, Watch App), cada extensão recebe seu próprio Bundle ID com um sufixo. Aplicativo principal: com.example.app. Extensão de widget: com.example.app.widget. Watch App: com.example.app.watchkit. Cada identificador é registrado separadamente no Apple Developer Portal e recebe seu próprio perfil de provisionamento. O Xcode gerencia automaticamente essas dependências durante a compilação.

Diferenças entre App Bundle ID e Package Name

App Bundle ID (Apple) e Package Name (Google) são entidades semelhantes com o mesmo propósito, mas com regras de uso diferentes nos ecossistemas iOS e Android. Ambos os identificadores usam notação reversa de domínio e não podem ser alterados após a publicação em lojas oficiais de aplicativos.

Diferenças funcionais

No ecossistema Apple, o Bundle ID está vinculado ao perfil de provisionamento e aos certificados. Ao mudar de equipe de desenvolvimento, o Bundle ID pode ser transferido entre contas através do App Store Connect. No Android, o Package Name está estritamente vinculado ao aplicativo no Google Play e não pode ser transferido entre contas de desenvolvedor.

CaracterísticaiOS Bundle IDAndroid Package Name
Comprimento máximoIlimitado150 caracteres
Separador de segmentosPonto (.)Ponto (.)
Caracteres permitidosA-Z, a-z, 0-9, ponto, hífenA-Z, a-z, 0-9, ponto, sublinhado
WildcardSuportado (*)Não suportado
Uso no códigoBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

Apesar das diferenças, ambos os identificadores desempenham um papel crítico: sem eles é impossível publicar um aplicativo em uma loja oficial. Recomendação para projetos multiplataforma — use o mesmo identificador nas versões iOS e Android para simplificar a integração com Firebase, Analytics e outros serviços. Isso também simplifica a navegação para a equipe de desenvolvimento: um identificador para ambos os projetos reduz a confusão ao configurar CI/CD e a configuração de ambientes.

Ao desenvolver com Flutter ou React Native, um identificador único é especialmente importante, pois a base de código é compartilhada e muitas ferramentas de compilação automatizada esperam o mesmo nome de pacote para ambas as plataformas. Um projeto Firebase também é vinculado a um único identificador para iOS e Android, simplificando a configuração de análises e relatórios de falhas.

Perguntas frequentes

É possível alterar o Bundle ID após publicar o aplicativo?

Alterar o Bundle ID após a publicação na App Store ou no Google Play é impossível. O sistema tratará o novo identificador como um aplicativo completamente diferente. Para atualizar um produto existente, o Bundle ID deve permanecer inalterado durante todo o ciclo de vida do aplicativo.

O que acontece se dois aplicativos tiverem o mesmo Bundle ID?

Um dispositivo iOS ou Android não permitirá instalar um segundo aplicativo com o mesmo identificador sobre o primeiro. O sistema exibirá um erro e sugerirá remover o aplicativo existente. Nas lojas, a publicação com um Bundle ID duplicado também será bloqueada.

Como escolher corretamente um Bundle ID para um novo projeto?

Use a notação reversa de domínio da sua empresa: com.companyname.appname. Evite hífens e caracteres especiais. Se o aplicativo tiver extensões, adicione sufixos separados por pontos. Certifique-se de que o identificador seja único e não esteja ocupado por outro desenvolvedor.

Cada extensão de aplicativo precisa de um Bundle ID separado?

Sim, cada extensão — widget, Watch App, Notification Service — requer seu próprio Bundle ID. Os identificadores formam uma hierarquia: com.example.app como base, com.example.app.widget para o widget, com.example.app.watchkit para o Watch. Todos são registrados separadamente no Apple Developer Portal e compartilham um App ID comum com o aplicativo principal.

Qual é a diferença entre Bundle ID e App ID no portal Apple Developer?

Bundle ID é uma string identificadora no código do aplicativo. App ID é um objeto no Apple Developer Portal que combina um Bundle ID com um conjunto de serviços habilitados (capabilities). O App ID é criado com base no Bundle ID e é usado para gerar perfis de provisionamento.

Resumo

  • App Bundle ID — um identificador único de aplicativo nos ecossistemas iOS e Android
  • Formato baseado em notação reversa de domínio: com.company.appname
  • Alteração do Bundle ID após a publicação é impossível sem criar um novo aplicativo na loja
  • Wildcard Bundle ID com.example.* é conveniente para desenvolvimento, mas incompatível com Push, CloudKit e Compras no Aplicativo
  • Extensões recebem seus próprios Bundle IDs com sufixos separados por ponto
  • Registro é feito no Apple Developer Portal e no Google Play Console, respectivamente
  • Recomendação — escolha o identificador com cuidado, verifique a exclusividade antes de publicar

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também