App Bundle ID — bu nima, identifikator va ro'yxatdan o'tkazish

Muallif: IT Sectr Nashr etilgan: 2026-04-17 O'qish vaqti: 8 daq

App Bundle ID — bu Apple va Google ekotizimlarida dasturiy mahsulotni ro'yxatdan o'tkazish, imzolash va tarqatish uchun ishlatiladigan noyob ilova identifikatoridir. Har bir ilova loyiha yaratilayotganda o'z Bundle ID-sini oladi va bu identifikator butun hayotiy sikl davomida o'zgarmasdan qoladi. Apple Developer Documentation ga ko'ra, Bundle ID xizmatlar, sertifikatlar va imzo profillarini bog'lash uchun ishlatiladi.

Asosiy ma'lumotlar

  • App Bundle ID — do'konda har bir ilova uchun noyob bo'lgan global identifikator
  • Format reverse domain notation asosida: com.company.appname
  • Ro'yxatdan o'tkazish App Store Connect va Google Play Console orqali amalga oshiriladi
  • O'zgartirish Bundle ID-ni nashrdan so'ng yangi ilova yaratmasdan o'zgartirib bo'lmaydi
  • Bog'lash xizmatlar (Push, CloudKit, Firebase) Bundle ID orqali amalga oshiriladi

App Bundle ID nima

Bundle Identifier — bu ilovani operatsion tizim va ilovalar do'konida noyob tarzda aniqlaydigan qatordir. iOS va macOS da Bundle ID, Android da Package Name deb ataladi, garchi funksional jihatdan ikkalasi bir xil vazifani bajaradi: qurilma va do'konda ilovaning noyobligini ta'minlaydi.

Bundle ID ning vazifasi

Operatsion tizim qurilmada ilovalarni farqlash uchun Bundle ID dan foydalanadi. Bir xil identifikatorga ega ikkita ilova bir vaqtda o'rnatilishi mumkin emas — tizim ularni bir xil mahsulot sifatida qabul qiladi. Ilovalar do'konlari ham nashr qilishda Bundle ID ning noyobligini tekshiradi.

Tarix va nomlash standartlari

Apple Bundle ID ni 2008 yilda iOS SDK chiqishi bilan taqdim etdi. Reverse domain notation formati Java (package naming convention) dan olingan bo'lib, u sinf nomlari to'qnashuvlarining oldini olish uchun ishlatiladi. Google bu amaliyotni Android uchun qabul qildi va bu ikkala mobil ekotizimda bir xillikni ta'minladi.

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

Bundle ID formati qanday tuzilgan

Bundle ID nuqtalar bilan ajratilgan bir necha segmentlardan iborat. Birinchi qism — dasturchi yoki kompaniya identifikatori (com, org, net). Ikkinchi — kompaniya domeni (example, google, apple). Keyingi segmentlar ilova va platforma nomini aniqlashtiradi.

Bundle ID tuzilishi

Odatiy Bundle ID com.company.appname ko'rinishida bo'ladi. Apple global noyoblikni kafolatlash uchun domen nomining teskari yozuvidan foydalanishni tavsiya qiladi. Agar kompaniyaning domeni bo'lmasa, elektron pochtadan foydalanishga ruxsat beriladi: com.example.myapp yoki org.example.myapp.

  • Segment 1 — teskari tartibda TLD: com, org, io, net
  • Segment 2 — kompaniya yoki dasturchi domeni: google, apple, mycompany
  • Segment 3 — ilova nomi: maps, mail, notes
  • Qo'shimcha — platforma yoki kengaytma: watchkit, todaywidget

Wildcard Bundle ID

Apple Wildcard Bundle ID ni qo'llab-quvvatlaydi — yulduzcha bilan identifikator shabloni: com.example.*. Bunday shablon bir kompaniyaning bir nechta ilovalari uchun bitta App ID dan foydalanishga imkon beradi. Wildcard ID ishlab chiqish bosqichida qulay, ammo ba'zi Apple xizmatlaridan foydalanishni cheklagani uchun ishlab chiqarish uchun tavsiya etilmaydi.

Wildcard cheklovlari: Push-bildirishnomalar, CloudKit, In-App Purchase va Game Center aniq (explicit) Bundle ID ni talab qiladi. com.example.* shablonidan foydalanganda bu xizmatlar mavjud emas. Ishlab chiqarish ilovalari uchun barcha Apple xizmatlarining to'liq funksionalligini ta'minlash uchun har doim explicit Bundle ID dan foydalaning.

Wildcard dan tashqari, Apple Apple Developer Program da ro'yxatdan o'tishda dasturchilar guruhlariga tayinlanadigan prefiks identifikatorlarini qo'llab-quvvatlaydi. Prefiks (Team ID) avtomatik ravishda barcha App ID va imzo profillariga qo'shiladi. Ikki xil Team ID bir xil Bundle ID ni yaratishi mumkin, ammo qurilmada ular turli ilovalar hisoblanadi.

Bundle ID-ni konsollarda ro'yxatdan o'tkazish

Bundle ID ni ro'yxatdan o'tkazish — ilovani nashr qilishdan oldin majburiy bosqichdir. Apple ekotizimida ro'yxatdan o'tish Apple Developer Portal da Certificates, Identifiers & Profiles bo'limi orqali amalga oshiriladi. Google Play da Bundle ID dasturchi konsolida ilova yaratilganda ko'rsatiladi.

Apple Developer Portal da ro'yxatdan o'tish

Apple Developer portalida Identifiers bo'limini tanlang, Register tugmasini bosing va App ID turini belgilang. Bundle ID ning aniq nomini kiriting va kerakli capabilities ni tanlang: Push Notifications, CloudKit, Sign in with Apple. Ro'yxatdan o'tgandan so'ng, identifikator imzo profillarini yaratish uchun mavjud bo'ladi.

swift
// Ilova kodida Bundle ID ni tekshirish
let bundleID = Bundle.main.bundleIdentifier
print("Joriy Bundle ID: \(bundleID ?? "unknown")")

// Yig'ish shartlari uchun Bundle ID ni tekshirish
if bundleID == "com.example.app.production" {
    // Ishlab chiqarish konfiguratsiyasi
    Analytics.shared.configure(.production)
}

Google Play Console da ro'yxatdan o'tish

Google Play Console Bundle ID ni oldindan ro'yxatdan o'tkazishni talab qilmaydi. Identifikator ilova modulining build.gradle faylida ko'rsatiladi va butun Google Play doirasida noyob bo'lishi kerak. Ilova yaratilgandan so'ng Package Name ni o'zgartirib bo'lmaydi, shuning uchun identifikatorni diqqat bilan tanlang va Google Play da qidirish orqali uning noyobligini tekshiring. Google o'chirilgan ilovalarning identifikatorlarini bo'shatmaydi, shuning uchun bir marta egallangan Bundle ID boshqa dasturchilar uchun mavjud bo'lmay qoladi.

App Store Connect da ro'yxatdan o'tishda mavjud ro'yxatdan o'tgan identifikatorlar to'plamidan Bundle ID ko'rsatilishi kerak. Agar identifikator hali Apple Developer portalida ro'yxatdan o'tmagan bo'lsa, tizim uni avtomatik ravishda yaratishni taklif qiladi. Ro'yxatdan o'tgandan so'ng, Bundle ID guruhga bog'lanadi va Apple yordamiga murojaat qilmasdan boshqa dasturchi hisobiga o'tkazib bo'lmaydi. Har bir Bundle ID turli muhitlar uchun bir nechta imzo profiliga ega bo'lishi mumkin: Development, Ad Hoc, App Store.

Kengaytmalari bo'lgan iOS ilovasi uchun Bundle ID ni ro'yxatdan o'tkazishda har bir komponent alohida ro'yxatdan o'tkazilishi kerak. Vidjetlar, klaviatura, Notification Service va Watch App kengaytmalari asosiy identifikatordan olingan o'z identifikatorlariga ega. App Store Connect App Record yaratilganda ularni guruhga birlashtiradi, bu esa barcha komponentlarni bitta ilova sifatida nashr qilish imkonini beradi.

Xcode loyihasida Bundle ID sozlamalari

Bundle ID sozlamalari Xcode da bir necha joyda amalga oshiriladi: Info.plist, Build Settings va Signing & Capabilities. Markaziy maydon — ilova targetidagi Bundle Identifier. Push-bildirishnomalardan CloudKit gacha barcha Apple xizmatlari ushbu identifikatorga bog'lanadi. Noto'g'ri ko'rsatilgan Bundle ID imzo xatolariga va App Store da nashr qilishning imkonsizligiga olib keladi.

Xcode da Bundle ID ni o'zgartirish

xml
<!-- Info.plist — loyihaning asosiy Bundle ID si -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

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

Xcode Build Settings da PRODUCT_BUNDLE_IDENTIFIER o'zgaruvchisidan foydalanadi. Turli yig'ish konfiguratsiyalari uchun turli qiymatlar belgilanishi mumkin: Debug uchun com.example.app.dev va Release uchun com.example.app. Bu bir qurilmada ishlab chiqarish versiyasi yonida ishlab chiqish versiyasini parallel o'rnatish uchun qulay.

Ko'p targetli konfiguratsiya

Agar ilova kengaytmalarga ega bo'lsa (Notification Service, Widget, Watch App), har bir kengaytma qo'shimchali o'z Bundle ID sini oladi. Asosiy ilova: com.example.app. Vidjet kengaytmasi: com.example.app.widget. Watch App: com.example.app.watchkit. Har bir identifikator Apple Developer Portal da alohida ro'yxatdan o'tkaziladi va alohida imzo profiliga ega bo'ladi. Xcode yig'ish vaqtida bu bog'liqliklarni avtomatik boshqaradi.

App Bundle ID va Package Name o'rtasidagi farqlar

App Bundle ID (Apple) va Package Name (Google) — bir xil maqsadga ega, ammo iOS va Android ekotizimlarida turli foydalanish qoidalariga ega bo'lgan o'xshash obyektlardir. Ikkala identifikator ham reverse domain notation dan foydalanadi va rasmiy ilovalar do'konlarida nashr qilingandan so'ng o'zgartirib bo'lmaydi.

Funksional farqlar

Apple ekotizimida Bundle ID imzo profili va sertifikatlar bilan bog'liq. Dasturchilar guruhi o'zgarganda, Bundle ID App Store Connect orqali hisoblar o'rtasida o'tkazilishi mumkin. Android da Package Name Google Play dagi ilovaga qattiq bog'langan va dasturchi hisoblari o'rtasida o'tkazib bo'lmaydi.

XususiyatiOS Bundle IDAndroid Package Name
Maksimal uzunlikCheklanmagan150 belgi
Segment ajratuvchiNuqta (.)Nuqta (.)
Ruxsat etilgan belgilarA-Z, a-z, 0-9, nuqta, defisA-Z, a-z, 0-9, nuqta, pastki chiziq
WildcardQo'llab-quvvatlanadi (*)Qo'llab-quvvatlanmaydi
Kodda ishlatilishiBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

Farqlarga qaramay, ikkala identifikator muhim rol o'ynaydi: ularsiz ilovani rasmiy do'konda nashr qilish mumkin emas. Tavsiya o'zaro platforma loyihalari uchun — iOS va Android versiyalarida bir xil identifikatordan foydalaning, bu Firebase, Analytics va boshqa xizmatlar bilan integratsiyani soddalashtiradi. Bu shuningdek dasturchilar guruhi uchun navigatsiyani osonlashtiradi: ikkala loyiha uchun bitta identifikator CI/CD sozlash va muhit konfiguratsiyasida chalkashlikni kamaytiradi.

Flutter yoki React Native yordamida ishlab chiqishda yagona identifikator ayniqsa muhim, chunki kod bazasi umumiy va ko'plab avtomatik yig'ish vositalari ikkala platforma uchun bir xil paket nomini kutadi. Firebase loyihasi ham iOS va Android uchun bitta identifikatorga bog'lanadi, bu tahlil va xato hisobotini sozlashni soddalashtiradi.

Tez-tez beriladigan savollar

Ilova nashr qilingandan so'ng Bundle ID ni o'zgartirish mumkinmi?

Bundle ID ni o'zgartirish App Store yoki Google Play da nashr qilingandan so'ng mumkin emas. Tizim yangi identifikatorni butunlay boshqa ilova sifatida qabul qiladi. Mavjud mahsulotni yangilash uchun Bundle ID ilovaning butun hayotiy sikl davomida o'zgarmas bo'lishi kerak.

Agar ikkita ilova bir xil Bundle ID ga ega bo'lsa nima bo'ladi?

iOS yoki Android qurilmasi bir xil identifikatorga ega ikkinchi ilovani birinchisining ustiga o'rnatishga ruxsat bermaydi. Tizim xato ko'rsatadi va mavjud ilovani o'chirishni taklif qiladi. Do'konlarda takrorlanuvchi Bundle ID bilan nashr qilish ham bloklanadi.

Yangi loyiha uchun Bundle ID ni qanday to'g'ri tanlash kerak?

Kompaniyangizning reverse domain notation idan foydalaning: com.kompaniyanomi.ilovanomi. Defis va maxsus belgilardan saqlaning. Agar ilova kengaytmalarga ega bo'lsa, nuqta orqali qo'shimchalar qo'shing. Identifikatorning noyobligiga va boshqa dasturchi tomonidan egallanmaganligiga ishonch hosil qiling.

Ilovaning har bir kengaytmasi uchun alohida Bundle ID kerakmi?

Ha, har bir kengaytma — vidjet, Watch App, Notification Service — o'z Bundle ID sini talab qiladi. Identifikatorlar ierarxiya hosil qiladi: com.example.app asosiy, com.example.app.widget vidjet uchun, com.example.app.watchkit Watch uchun. Ularning barchasi Apple Developer Portal da alohida ro'yxatdan o'tkaziladi va ota ilova bilan umumiy App ID dan foydalanadi.

Apple Developer portalida Bundle ID va App ID o'rtasidagi farq nima?

Bundle ID — ilova kodidagi identifikator qatori. App ID — Apple Developer Portal dagi obyekt bo'lib, Bundle ID ni kiritilgan xizmatlar (capabilities) to'plami bilan birlashtiradi. App ID Bundle ID asosida yaratiladi va imzo profillarini yaratish uchun ishlatiladi.

Xulosa

  • App Bundle ID — iOS va Android ekotizimlaridagi ilovaning noyob identifikatori
  • Format reverse domain notation asosida quriladi: com.company.appname
  • O'zgartirish Bundle ID ni nashrdan so'ng do'konda yangi ilova yaratmasdan o'zgartirib bo'lmaydi
  • Wildcard Bundle ID com.example.* ishlab chiqish uchun qulay, ammo Push, CloudKit va In-App Purchase bilan mos kelmaydi
  • Kengaytmalar nuqta orqali qo'shimchalar bilan o'z Bundle ID larini oladi
  • Ro'yxatdan o'tkazish mos ravishda Apple Developer Portal va Google Play Console da amalga oshiriladi
  • Tavsiya — identifikatorni ongli ravishda tanlang, nashrdan oldin noyobligini tekshiring

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing