App Bundle ID — vad det är, applikationsidentifierare och registrering

Författare: IT Sectr Publicerad: 2026-04-17 Lästid: 8 min

App Bundle ID — är en unik identifierare för applikationen som används i Apples och Googles ekosystem för registrering, signering och distribution av mjukvaruprodukten. Varje applikation får sitt eget Bundle ID när projektet skapas, och denna identifierare förblir oförändrad under hela livscykeln. Enligt Apple Developer Documentation används Bundle ID för att koppla tjänster, certifikat och signeringsprofiler.

Huvudpunkter

  • App Bundle ID — global identifierare, unik för varje applikation i butiken
  • Format baserat på reverse domain notation: com.company.appname
  • Registrering görs i App Store Connect och Google Play Console
  • Ändring av Bundle ID efter publicering är omöjlig utan att skapa en ny applikation
  • Koppling av tjänster (Push, CloudKit, Firebase) sker via Bundle ID

Vad är App Bundle ID

Bundle Identifier — är en sträng som unikt identifierar applikationen i operativsystemet och appbutiken. I iOS och macOS kallas det Bundle ID, i Android — Package Name, även om funktionellt båda fyller samma roll: de säkerställer applikationens unikhet på enheten och i butiken.

Syftet med Bundle ID

Operativsystemet använder Bundle ID för att särskilja applikationer på enheten. Två applikationer med samma identifierare kan inte installeras samtidigt — systemet uppfattar dem som samma produkt. Appbutiker kontrollerar också unikheten hos Bundle ID vid publicering.

Historia och namngivningsstandarder

Apple introducerade Bundle ID med lanseringen av iOS SDK 2008. Formatet reverse domain notation lånades från Java (package naming convention), där det används för att förhindra konflikter mellan klassnamn. Google antog denna praxis för Android, vilket säkerställde enhetlighet i båda mobila ekosystemen.

PlattformFältnamnExempel
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Hur Bundle ID-formatet är uppbyggt

Bundle ID består av flera segment separerade med punkter. Den första delen — identifieraren för utvecklaren eller företaget (com, org, net). Den andra — företagets domän (example, google, apple). Följande segment specificerar applikationens och plattformens namn.

Bundle ID-struktur

Ett typiskt Bundle ID ser ut som com.company.appname. Apple rekommenderar att använda omvänd notation av domännamnet för att garantera global unikhet. Om företaget inte har någon domän är det tillåtet att använda e-post: com.example.myapp eller org.example.myapp.

  • Segment 1 — TLD i omvänd ordning: com, org, io, net
  • Segment 2 — företagets eller utvecklarens domän: google, apple, mycompany
  • Segment 3 — applikationens namn: maps, mail, notes
  • Extra — plattform eller tillägg: watchkit, todaywidget

Wildcard Bundle ID

Apple stöder Wildcard Bundle ID — en identifierarmall med asterisk: com.example.*. En sådan mall gör det möjligt att använda ett App ID för flera applikationer inom ett företag. Wildcard ID är bekvämt i utvecklingsfasen men rekommenderas inte för produktion eftersom det begränsar användningen av vissa Apple-tjänster.

Begränsningar för wildcard: Push Notifications, CloudKit, In-App Purchase och Game Center kräver ett explicit Bundle ID. Vid användning av mallen com.example.* är dessa tjänster inte tillgängliga. För produktionsapplikationer, använd alltid explicit Bundle ID för att säkerställa full funktionalitet för alla Apple-tjänster.

Förutom wildcard stöder Apple prefix-identifierare som tilldelas utvecklingsteam vid registrering i Apple Developer Program. Prefixet (Team ID) läggs automatiskt till alla App ID och signeringsprofiler. Två olika Team ID kan skapa samma Bundle ID, men på enheten betraktas de som olika applikationer.

Registrera Bundle ID i konsoler

Registrering av Bundle ID — ett obligatoriskt steg före publicering av applikationen. I Apples ekosystem görs registreringen i Apple Developer Portal via avsnittet Certificates, Identifiers & Profiles. I Google Play anges Bundle ID när applikationen skapas i utvecklarkonsolen.

Registrering i Apple Developer Portal

Apple Developer-portalen väljer du avsnittet Identifiers, klickar på Register-knappen och anger typen App ID. Ange det exakta namnet på Bundle ID och välj nödvändiga capabilities: Push Notifications, CloudKit, Sign in with Apple. Efter registrering blir identifieraren tillgänglig för att skapa signeringsprofiler.

swift
// Kontrollera Bundle ID i applikationskoden
let bundleID = Bundle.main.bundleIdentifier
print("Aktuellt Bundle ID: \(bundleID ?? "unknown")")

// Kontrollera Bundle ID för kompileringsvillkor
if bundleID == "com.example.app.production" {
    // Produktionskonfiguration
    Analytics.shared.configure(.production)
}

Registrering i Google Play Console

Google Play Console kräver ingen förhandsregistrering av Bundle ID. Identifieraren anges i applikationsmodulens build.gradle-fil och måste vara unik inom hela Google Play. Efter att applikationen har skapats är ändring av Package Name omöjlig, så välj identifieraren noggrant och kontrollera dess unikhet genom sökning i Google Play. Google frigör inte identifierare för borttagna applikationer, så ett en gång upptaget Bundle ID förblir otillgängligt för andra utvecklare.

Vid registrering i App Store Connect måste ett Bundle ID anges från den befintliga uppsättningen registrerade identifierare. Om identifieraren ännu inte är registrerad på Apple Developer-portalen kommer systemet att föreslå att skapa den automatiskt. Efter registrering binds Bundle ID till teamet och kan inte överföras till ett annat utvecklarkonto utan att kontakta Apple Support. Varje Bundle ID kan ha flera signeringsprofiler för olika miljöer: Development, Ad Hoc, App Store.

Vid registrering av Bundle ID för en iOS-applikation med tillägg måste varje komponent registreras separat. Tillägg för widgetar, tangentbord, Notification Service och Watch App har egna identifierare som härleds från huvudidentifieraren. App Store Connect kombinerar dem i en grupp när en App Record skapas, vilket gör det möjligt att publicera alla komponenter som en enda applikation.

Konfigurera Bundle ID i Xcode-projekt

Konfigurering av Bundle ID i Xcode görs på flera ställen: Info.plist, Build Settings och Signing & Capabilities. Det centrala fältet — Bundle Identifier i applikationens target. Alla Apple-tjänster, från Push Notifications till CloudKit, kopplas till denna identifierare. Ett felaktigt angivet Bundle ID leder till signeringsfel och omöjlighet att publicera i App Store.

Ändra Bundle ID i Xcode

xml
<!-- Info.plist — projektets grundläggande Bundle ID -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

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

Xcode använder variabeln PRODUCT_BUNDLE_IDENTIFIER i Build Settings. För olika kompileringskonfigurationer kan olika värden ställas in: com.example.app.dev för Debug och com.example.app för Release. Detta är bekvämt för parallell installation av utvecklingsversionen bredvid produktionsversionen på samma enhet för testning.

Flermålskonfiguration

Om applikationen har tillägg (Notification Service, Widget, Watch App) får varje tillägg sitt eget Bundle ID med suffix. Huvudapplikation: com.example.app. Widgettillägg: com.example.app.widget. Watch App: com.example.app.watchkit. Varje identifierare registreras separat i Apple Developer Portal och får en separat signeringsprofil. Xcode hanterar automatiskt dessa beroenden vid kompilering.

Skillnader mellan App Bundle ID och Package Name

App Bundle ID (Apple) och Package Name (Google) — är analoga enheter med samma syfte men med olika användningsregler i iOS- och Android-ekosystemen. Båda identifierarna använder reverse domain notation och kan inte ändras efter publicering i officiella appbutiker.

Funktionella skillnader

I Apples ekosystem är Bundle ID kopplat till signeringsprofilen och certifikat. Vid byte av utvecklingsteam kan Bundle ID överföras mellan konton via App Store Connect. I Android är Package Name hårt bundet till applikationen i Google Play och kan inte överföras mellan utvecklarkonton.

EgenskapiOS Bundle IDAndroid Package Name
Maximal längdObegränsad150 tecken
SegmentavskiljarePunkt (.)Punkt (.)
Tillåtna teckenA-Z, a-z, 0-9, punkt, bindestreckA-Z, a-z, 0-9, punkt, understreck
WildcardStöds (*)Stöds inte
Användning i kodBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

Trots skillnaderna spelar båda identifierarna en kritisk roll: utan dem är det omöjligt att publicera applikationen i den officiella butiken. Rekommendation för plattformsoberoende projekt — använd samma identifierare i iOS- och Android-versioner för att förenkla integration med Firebase, Analytics och andra tjänster. Detta underlättar också navigeringen för utvecklingsteamet: en identifierare för båda projekten minskar förvirring vid konfigurering av CI/CD och miljöer.

Vid utveckling med Flutter eller React Native är en enhetlig identifierare särskilt viktig eftersom kodbasen är delad och många automatiska kompileringsverktyg förväntar sig samma paketnamn för båda plattformarna. Firebase-projektet kopplas också till en identifierare för iOS och Android, vilket förenklar konfigureringen av analys och felrapportering.

Vanliga frågor

Kan Bundle ID ändras efter publicering av applikationen?

Ändring av Bundle ID efter publicering i App Store eller Google Play är omöjlig. Systemet kommer att uppfatta den nya identifieraren som en helt annan applikation. För uppdatering av en befintlig produkt måste Bundle ID förbli oförändrat under hela applikationens livscykel.

Vad händer om två applikationer har samma Bundle ID?

iOS- eller Android-enheten tillåter inte installation av den andra applikationen med samma identifierare ovanpå den första. Systemet visar ett fel och föreslår att den befintliga applikationen tas bort. I butikerna kommer publicering med ett duplicerat Bundle ID också att blockeras.

Hur väljer man rätt Bundle ID för ett nytt projekt?

Använd reverse domain notation för ditt företag: com.företagsnamn.applikationsnamn. Undvik bindestreck och specialtecken. Om applikationen har tillägg, lägg till suffix via punkt. Se till att identifieraren är unik och inte är upptagen av en annan utvecklare.

Behövs ett separat Bundle ID för varje tillägg av applikationen?

Ja, varje tillägg — widget, Watch App, Notification Service — kräver sitt eget Bundle ID. Identifierarna bildar en hierarki: com.example.app som bas, com.example.app.widget för widgeten, com.example.app.watchkit för Watch. Alla registreras separat i Apple Developer Portal och använder ett gemensamt App ID med den överordnade applikationen.

Vad är skillnaden mellan Bundle ID och App ID i Apple Developer-portalen?

Bundle ID — är identifierarsträngen i applikationens kod. App ID — är ett objekt i Apple Developer Portal som kombinerar Bundle ID med en uppsättning aktiverade tjänster (capabilities). App ID skapas baserat på Bundle ID och används för att generera signeringsprofiler.

Sammanfattning

  • App Bundle ID — unik identifierare för applikationen i iOS- och Android-ekosystemen
  • Format baserat på reverse domain notation: com.company.appname
  • Ändring av Bundle ID efter publicering är omöjlig utan att skapa en ny applikation i butiken
  • Wildcard Bundle ID com.example.* är bekvämt för utveckling men inkompatibelt med Push, CloudKit och In-App Purchase
  • Tillägg får egna Bundle ID med suffix via punkt
  • Registrering görs i Apple Developer Portal respektive Google Play Console
  • Rekommendation — välj identifieraren medvetet, kontrollera unikhet före publicering

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också