App Bundle ID — wat is het, applicatie-identificatie en registratie

Auteur: IT Sectr Gepubliceerd: 2026-04-17 Leestijd: 8 min

App Bundle ID — is een unieke identificatie van de applicatie die wordt gebruikt in de Apple- en Google-ecosystemen voor registratie, ondertekening en distributie van het softwareproduct. Elke applicatie krijgt zijn eigen Bundle ID bij het aanmaken van het project en deze identificatie blijft ongewijzigd gedurende de hele levenscyclus. Volgens Apple Developer Documentation wordt Bundle ID gebruikt voor het koppelen van services, certificaten en ondertekeningsprofielen.

Belangrijkste punten

  • App Bundle ID — globale identificatie, uniek voor elke app in de winkel
  • Formaat gebaseerd op reverse domain notation: com.company.appname
  • Registratie gebeurt in App Store Connect en Google Play Console
  • Wijzigen van Bundle ID na publicatie is onmogelijk zonder een nieuwe app te maken
  • Koppeling van services (Push, CloudKit, Firebase) gebeurt via Bundle ID

Wat is App Bundle ID

Bundle Identifier — is een tekenreeks die de applicatie uniek identificeert in het besturingssysteem en de app store. In iOS en macOS heet het Bundle ID, in Android — Package Name, hoewel functioneel beide dezelfde rol vervullen: ze zorgen voor de uniciteit van de applicatie op het apparaat en in de winkel.

Doel van Bundle ID

Het besturingssysteem gebruikt Bundle ID om applicaties op het apparaat te onderscheiden. Twee applicaties met dezelfde identificatie kunnen niet tegelijkertijd worden geïnstalleerd — het systeem beschouwt ze als hetzelfde product. App stores controleren ook de uniciteit van Bundle ID bij publicatie.

Geschiedenis en naamgevingsstandaarden

Apple introduceerde Bundle ID met de release van iOS SDK in 2008. Het reverse domain notation-formaat werd overgenomen van Java (package naming convention), waar het wordt gebruikt om conflicten tussen klassennamen te voorkomen. Google nam deze praktijk over voor Android, wat uniformiteit in beide mobiele ecosystemen garandeerde.

PlatformVeldnaamVoorbeeld
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Hoe is het Bundle ID-formaat opgebouwd

Bundle ID bestaat uit meerdere segmenten gescheiden door punten. Het eerste deel — de identificatie van de ontwikkelaar of het bedrijf (com, org, net). Het tweede — het domein van het bedrijf (example, google, apple). Volgende segmenten specificeren de naam van de applicatie en het platform.

Structuur van Bundle ID

Een typisch Bundle ID ziet eruit als com.company.appname. Apple raadt aan om de omgekeerde notatie van de domeinnaam te gebruiken om wereldwijde uniciteit te garanderen. Als het bedrijf geen domein heeft, is het gebruik van e-mail toegestaan: com.example.myapp of org.example.myapp.

  • Segment 1 — TLD in omgekeerde volgorde: com, org, io, net
  • Segment 2 — domein van het bedrijf of de ontwikkelaar: google, apple, mycompany
  • Segment 3 — naam van de applicatie: maps, mail, notes
  • Aanvullend — platform of extensie: watchkit, todaywidget

Wildcard Bundle ID

Apple ondersteunt Wildcard Bundle ID — een identificatiesjabloon met een asterisk: com.example.*. Zo'n sjabloon maakt het mogelijk om één App ID te gebruiken voor meerdere applicaties van één bedrijf. Wildcard ID is handig in de ontwikkelfase, maar wordt niet aanbevolen voor productie omdat het het gebruik van sommige Apple-services beperkt.

Beperkingen van wildcard: Push-meldingen, CloudKit, In-App Purchase en Game Center vereisen een expliciet (explicit) Bundle ID. Bij gebruik van het sjabloon com.example.* zijn deze services niet beschikbaar. Gebruik voor productie-applicaties altijd explicit Bundle ID om de volledige functionaliteit van alle Apple-services te garanderen.

Naast wildcard ondersteunt Apple prefix-identificaties die worden toegewezen aan ontwikkelingsteams bij registratie in het Apple Developer Program. Het prefix (Team ID) wordt automatisch toegevoegd aan alle App ID's en ondertekeningsprofielen. Twee verschillende Team ID's kunnen hetzelfde Bundle ID aanmaken, maar op het apparaat worden ze als verschillende applicaties beschouwd.

Bundle ID registreren in consoles

Bundle ID registreren — een verplichte stap vóór het publiceren van de applicatie. In het Apple-ecosysteem gebeurt de registratie in de Apple Developer Portal via de sectie Certificates, Identifiers & Profiles. In Google Play wordt Bundle ID opgegeven bij het aanmaken van de app in de ontwikkelaarsconsole.

Registratie in Apple Developer Portal

Selecteer op de Apple Developer-portal de sectie Identifiers, klik op de knop Register en specificeer het type App ID. Voer de exacte naam van Bundle ID in en selecteer de benodigde capabilities: Push Notifications, CloudKit, Sign in with Apple. Na registratie wordt de identificatie beschikbaar voor het aanmaken van ondertekeningsprofielen.

swift
// Bundle ID controleren in applicatiecode
let bundleID = Bundle.main.bundleIdentifier
print("Huidige Bundle ID: \(bundleID ?? "unknown")")

// Bundle ID controleren voor compilatiecondities
if bundleID == "com.example.app.production" {
    // Productieconfiguratie
    Analytics.shared.configure(.production)
}

Registratie in Google Play Console

Google Play Console vereist geen voorafgaande registratie van Bundle ID. De identificatie wordt opgegeven in het build.gradle-bestand van de applicatiemodule en moet uniek zijn binnen de hele Google Play. Na het aanmaken van de app is wijziging van Package Name onmogelijk, dus kies de identificatie zorgvuldig en controleer de uniciteit ervan via zoeken in Google Play. Google geeft identificaties van verwijderde apps niet vrij, dus een eenmaal ingenomen Bundle ID blijft ontoegankelijk voor andere ontwikkelaars.

Bij registratie in App Store Connect moet een Bundle ID worden opgegeven uit de bestaande set geregistreerde identificaties. Als de identificatie nog niet is geregistreerd op de Apple Developer-portal, zal het systeem voorstellen deze automatisch aan te maken. Na registratie wordt Bundle ID aan het team gekoppeld en kan het niet worden overgedragen naar een ander ontwikkelaarsaccount zonder contact op te nemen met Apple-ondersteuning. Elk Bundle ID kan meerdere ondertekeningsprofielen hebben voor verschillende omgevingen: Development, Ad Hoc, App Store.

Bij registratie van Bundle ID voor een iOS-app met extensies moet elk onderdeel afzonderlijk worden geregistreerd. Extensies van widgets, toetsenborden, Notification Service en Watch App hebben eigen identificaties die zijn afgeleid van de hoofdidentificatie. App Store Connect voegt ze samen in een groep bij het aanmaken van een App Record, waardoor alle componenten als één applicatie kunnen worden gepubliceerd.

Bundle ID configureren in Xcode-project

Bundle ID configureren in Xcode gebeurt op meerdere plaatsen: Info.plist, Build Settings en Signing & Capabilities. Het centrale veld — Bundle Identifier in het target van de applicatie. Alle Apple-services, van Push-meldingen tot CloudKit, worden aan deze identificatie gekoppeld. Een onjuist opgegeven Bundle ID leidt tot ondertekeningsfouten en onmogelijkheid om te publiceren in de App Store.

Bundle ID wijzigen in Xcode

xml
<!-- Info.plist — basis Bundle ID van het project -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

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

Xcode gebruikt de variabele PRODUCT_BUNDLE_IDENTIFIER in Build Settings. Voor verschillende compilatieconfiguraties kunnen verschillende waarden worden ingesteld: com.example.app.dev voor Debug en com.example.app voor Release. Dit is handig voor parallelle installatie van de ontwikkelversie naast de productieversie op hetzelfde apparaat voor testdoeleinden.

Multi-target configuratie

Als de app extensies heeft (Notification Service, Widget, Watch App), krijgt elke extensie zijn eigen Bundle ID met een suffix. Hoofdapplicatie: com.example.app. Widget-extensie: com.example.app.widget. Watch App: com.example.app.watchkit. Elke identificatie wordt apart geregistreerd in de Apple Developer Portal en krijgt een apart ondertekeningsprofiel. Xcode beheert deze afhankelijkheden automatisch tijdens het compileren.

Verschillen tussen App Bundle ID en Package Name

App Bundle ID (Apple) en Package Name (Google) — zijn analoge entiteiten met hetzelfde doel, maar met verschillende gebruiksregels in iOS- en Android-ecosystemen. Beide identificaties gebruiken reverse domain notation en kunnen niet worden gewijzigd na publicatie in officiële app stores.

Functionele verschillen

In het Apple-ecosysteem is Bundle ID gekoppeld aan het ondertekeningsprofiel en certificaten. Bij verandering van ontwikkelingsteam kan Bundle ID tussen accounts worden overgedragen via App Store Connect. In Android is Package Name strak gebonden aan de app in Google Play en kan niet worden overgedragen tussen ontwikkelaarsaccounts.

KenmerkiOS Bundle IDAndroid Package Name
Maximale lengteOngelimiteerd150 tekens
Segment scheidingstekenPunt (.)Punt (.)
Toegestane tekensA-Z, a-z, 0-9, punt, koppeltekenA-Z, a-z, 0-9, punt, underscore
WildcardOndersteund (*)Niet ondersteund
Gebruik in codeBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

Ondanks de verschillen spelen beide identificaties een cruciale rol: zonder hen is het onmogelijk om een app te publiceren in de officiële winkel. Aanbeveling voor cross-platformprojecten — gebruik dezelfde identificatie in iOS- en Android-versies om integratie met Firebase, Analytics en andere services te vereenvoudigen. Dit vergemakkelijkt ook de navigatie voor het ontwikkelingsteam: één identificatie voor beide projecten vermindert verwarring bij het configureren van CI/CD en omgevingen.

Bij ontwikkeling met Flutter of React Native is een uniforme identificatie vooral belangrijk omdat de codebasis gedeeld is en veel automatische compilatiegereedschappen dezelfde pakketnaam voor beide platformen verwachten. Het Firebase-project wordt ook aan één identificatie voor iOS en Android gekoppeld, wat de configuratie van analytics en crashrapportage vereenvoudigt.

Veelgestelde vragen

Kan Bundle ID worden gewijzigd na publicatie van de app?

Bundle ID wijzigen na publicatie in App Store of Google Play is onmogelijk. Het systeem zal de nieuwe identificatie als een volledig andere app beschouwen. Voor het bijwerken van een bestaand product moet Bundle ID ongewijzigd blijven gedurende de hele levenscyclus van de applicatie.

Wat gebeurt er als twee apps dezelfde Bundle ID hebben?

Het iOS- of Android-apparaat staat niet toe dat een tweede app met dezelfde identificatie over de eerste wordt geïnstalleerd. Het systeem geeft een foutmelding en stelt voor de bestaande app te verwijderen. In de winkels wordt publicatie met een dubbele Bundle ID ook geblokkeerd.

Hoe kies ik de juiste Bundle ID voor een nieuw project?

Gebruik de reverse domain notation van uw bedrijf: com.bedrijfsnaam.appnaam. Vermijd koppeltekens en speciale tekens. Als de app extensies heeft, voeg dan suffixes toe via een punt. Zorg ervoor dat de identificatie uniek is en niet door een andere ontwikkelaar is ingenomen.

Is een aparte Bundle ID nodig voor elke extensie van de app?

Ja, elke extensie — widget, Watch App, Notification Service — vereist een eigen Bundle ID. De identificaties vormen een hiërarchie: com.example.app als basis, com.example.app.widget voor de widget, com.example.app.watchkit voor Watch. Ze worden allemaal apart geregistreerd in de Apple Developer Portal en gebruiken een gemeenschappelijke App ID met de bovenliggende app.

Wat is het verschil tussen Bundle ID en App ID in de Apple Developer-portal?

Bundle ID — is de identificatietekenreeks in de app-code. App ID — is een object in de Apple Developer Portal dat Bundle ID combineert met een set ingeschakelde services (capabilities). App ID wordt gemaakt op basis van Bundle ID en wordt gebruikt voor het genereren van ondertekeningsprofielen.

Samenvatting

  • App Bundle ID — unieke identificatie van de app in iOS- en Android-ecosystemen
  • Formaat gebaseerd op reverse domain notation: com.company.appname
  • Wijzigen van Bundle ID na publicatie is onmogelijk zonder een nieuwe app in de winkel te maken
  • Wildcard Bundle ID com.example.* is handig voor ontwikkeling maar incompatibel met Push, CloudKit en In-App Purchase
  • Extensies krijgen hun eigen Bundle ID met suffixes via een punt
  • Registratie gebeurt respectievelijk in Apple Developer Portal en Google Play Console
  • Aanbeveling — kies de identificatie zorgvuldig, controleer de uniciteit vóór publicatie

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook