Índice
1. O que é Bundle ID
Bundle ID (ou Bundle Identifier) é o identificador único que distingue seu app de todos os outros no ecossistema Apple. No Android, o equivalente é chamado de Package Name (ou Application ID).
Pense no Bundle ID como o CPF do seu app — único, permanente e usado por todos os sistemas da Apple (App Store, TestFlight, notificações push, iCloud, In-App Purchase) para identificar de qual app se trata.
O Bundle ID não é visível ao usuário final — ele é um identificador técnico interno.
2. Formato e exemplos
O Bundle ID segue o formato de domínio invertido — o mesmo padrão usado em Java:
com.suaempresa.seuapp— o mais comumbr.com.suaempresa.seuapp— variação com TLD do paíscom.johndoe.myapp— para desenvolvedores individuais sem empresaio.github.seuusuario.seuapp— para projetos open source sem domínio
Regras do formato:
- Apenas letras, números, hífens e pontos
- Sem espaços, underscores ou caracteres especiais
- Case-sensitive no iOS (letras minúsculas são o padrão)
- Precisa ter ao menos dois segmentos separados por ponto
3. Como escolher o Bundle ID
Escolha o Bundle ID com cuidado porque é permanente. A melhor prática:
- Use um domínio que você possui: se você tem o domínio
seuapp.com.br, usebr.com.seuapp.nomeoapp. Isso garante unicidade global. - Use o nome final do app: se o app vai se chamar "Fintrack", use algo como
com.suaempresa.fintrack— nãocom.suaempresa.app1. - Seja específico:
com.suaempresa.appprincipalé melhor quecom.suaempresa.app— especialmente se você planeja lançar outros apps no futuro. - Evite caracteres que confundem: zeros e letras O, uns e letras L. Prefira nomes claros e sem ambiguidade.
✓ Se você não tem domínio, pode usar uma variação do seu nome ou empresa: com.wellington.fintrack. A convenção de domínio invertido é para garantir unicidade — não existe uma validação que o domínio precisa ser seu.
4. Por que não pode mudar depois de publicar
Uma vez que o app está publicado na App Store ou Google Play com um Bundle ID específico, esse identificador não pode ser alterado. Os motivos:
- O Bundle ID é a chave que liga o app instalado nos dispositivos dos usuários ao registro na loja. Mudar o ID quebraria essa ligação.
- Certificados, provisioning profiles, entitlements de push notification, iCloud e in-app purchases são todos vinculados ao Bundle ID.
- Se você "mudar" o Bundle ID, está essencialmente criando um app novo — os usuários do app antigo não receberiam a "atualização" automaticamente.
A única forma de publicar com um Bundle ID diferente é criar um novo app do zero — e perder todo o histórico de reviews, ranqueamento e base de usuários instalados.
⚠️ Decida o Bundle ID antes de publicar qualquer versão — mesmo em TestFlight ou em testes internos do Google Play. Uma vez que um Bundle ID foi associado a um app em produção, mude o Bundle ID significa publicar um app novo.
5. Bundle ID no iOS (Xcode)
No Xcode, o Bundle ID fica em:
- Selecione o projeto → Target → aba General → campo Bundle Identifier.
- No arquivo
Info.plistcomo chaveCFBundleIdentifier.
O Bundle ID no Xcode precisa ser idêntico ao App ID cadastrado no portal developer.apple.com e ao Bundle ID informado no App Store Connect. Qualquer diferença — incluindo maiúsculas — gera erro no upload.
Quando você usa o Automatically manage signing no Xcode, ele cria o App ID automaticamente no portal da Apple baseado no Bundle ID que você digitou.
6. Package Name no Android
No Android, o equivalente ao Bundle ID é o applicationId definido no arquivo android/app/build.gradle:
defaultConfig { applicationId "com.suaempresa.seuapp" }
O applicationId é independente do package declarado no código Java/Kotlin, mas por convenção são iguais. O que importa para a loja é o applicationId — é ele que o Google Play usa como identificador único.
7. Bundle ID em frameworks cross-platform
Para quem usa React Native, Flutter ou Expo, o Bundle ID é configurado em um arquivo central:
- Flutter:
android/app/build.gradle(Android) e Xcode → Target → General (iOS) - React Native:
android/app/build.gradle(Android) e Xcode (iOS) — mesmos arquivos nativos - Expo:
app.json→ camposios.bundleIdentifiereandroid.package
✓ Use o mesmo identificador base para iOS e Android — ex: com.suaempresa.seuapp nos dois. Facilita o gerenciamento e é a prática padrão.
8. Erros comuns envolvendo Bundle ID
- "Bundle ID does not match": o Bundle ID no Xcode é diferente do App ID cadastrado no portal da Apple. Confira os dois e corrija para que sejam idênticos.
- Publicar com Bundle ID de desenvolvimento: usar
com.suaempresa.seuapp.debugno build de produção é um erro comum — confira que o scheme de produção está usando o ID correto sem o sufixo debug. - Mudar o Bundle ID no meio do projeto: se você mudar o Bundle ID depois de já ter configurado certificados e provisioning profiles, precisará reconfigurar tudo — incluindo entitlements de push, iCloud e IAP.
Quer que a gente publique por você?
App Store e Google Play em até 7 dias. A partir de R$1.800.
Solicitar publicação