App Bundle ID — ایپ شناخت کنندہ اور رجسٹریشن

مصنف: IT Sectr اشاعت: 2026-04-17 مطالعے کا وقت: 8 منٹ

App Bundle ID — ایک منفرد ایپلیکیشن شناخت کنندہ ہے جو Apple اور Google کے ماحولیاتی نظام میں سافٹ ویئر پروڈکٹ کی رجسٹریشن، دستخط اور تقسیم کے لیے استعمال ہوتا ہے۔ ہر ایپ پروجیکٹ بناتے وقت اپنا Bundle ID حاصل کرتی ہے، اور یہ شناخت کنندہ پوری زندگی کے دورانیے میں تبدیل نہیں ہوتا۔ Apple Developer Documentation کے مطابق، Bundle ID خدمات، سرٹیفکیٹس اور پروویژننگ پروفائلز کو باندھنے کے لیے استعمال ہوتا ہے۔

اہم نکات

  • App Bundle ID — اسٹور میں ہر ایپ کے لیے منفرد عالمی شناخت کنندہ
  • فارمیٹ ریورس ڈومین نوٹیشن پر مبنی: com.company.appname
  • رجسٹریشن App Store Connect اور Google Play Console میں کی جاتی ہے
  • تبدیلی — اشاعت کے بعد Bundle ID تبدیل کرنا نئی ایپ بنائے بغیر ناممکن ہے
  • خدمات (Push، CloudKit، Firebase) Bundle ID کے ذریعے منسلک ہوتی ہیں

App Bundle ID کیا ہے

Bundle Identifier ایک سٹرنگ ہے جو آپریٹنگ سسٹم اور ایپ اسٹور میں ایپلیکیشن کی منفرد شناخت کرتی ہے۔ iOS اور macOS میں اسے Bundle ID کہا جاتا ہے، Android میں — Package Name، اگرچہ فعال طور پر دونوں ایک ہی کردار ادا کرتے ہیں: ڈیوائس اور اسٹور میں ایپ کی انفرادیت کو یقینی بنانا۔

Bundle ID کا مقصد

آپریٹنگ سسٹم ڈیوائس پر ایپس کو الگ کرنے کے لیے Bundle ID استعمال کرتا ہے۔ ایک ہی شناخت کنندہ والی دو ایپس ایک ساتھ انسٹال نہیں کی جا سکتیں — سسٹم انہیں ایک ہی پروڈکٹ سمجھتا ہے۔ ایپ اسٹورز بھی اشاعت کے دوران Bundle ID کی انفرادیت کی جانچ کرتے ہیں۔

تاریخ اور نام رکھنے کے معیارات

Apple نے 2008 میں iOS SDK کے اجراء کے ساتھ Bundle ID متعارف کرایا۔ ریورس ڈومین نوٹیشن فارمیٹ Java (پیکیج نام رکھنے کی روایت) سے لیا گیا تھا، جہاں اسے کلاس کے ناموں کے تصادم کو روکنے کے لیے استعمال کیا جاتا ہے۔ Google نے Android کے لیے اس عمل کو اپنایا، دونوں موبائل ماحولیاتی نظام میں مستقل مزاجی کو یقینی بنایا۔

پلیٹ فارمفیلڈ کا ناممثال
iOS/macOSBundle Identifiercom.example.myapp
AndroidPackage Namecom.example.myapp
watchOSBundle Identifiercom.example.myapp.watchkit
tvOSBundle Identifiercom.example.myapp.tvos

Bundle ID فارمیٹ کیسے کام کرتا ہے

Bundle ID نقطوں سے الگ کردہ کئی حصوں پر مشتمل ہوتا ہے۔ پہلا حصہ ڈیولپر یا کمپنی کا شناخت کنندہ ہے (com، org، net)۔ دوسرا کمپنی کا ڈومین ہے (example، google، apple)۔ بعد کے حصے ایپ کا نام اور پلیٹ فارم بتاتے ہیں۔

Bundle ID کی ساخت

ایک عام Bundle ID com.company.appname کی طرح لگتا ہے۔ Apple عالمی انفرادیت کی ضمانت کے لیے ریورس ڈومین نوٹیشن استعمال کرنے کی سفارش کرتا ہے۔ اگر کمپنی کے پاس ڈومین نہیں ہے تو ای میل کے استعمال کی اجازت ہے: com.example.myapp یا org.example.myapp۔

  • حصہ 1 — الٹی ترتیب میں TLD: com، org، io، net
  • حصہ 2 — کمپنی یا ڈیولپر ڈومین: google، apple، mycompany
  • حصہ 3 — ایپ کا نام: maps، mail، notes
  • اضافی — پلیٹ فارم یا ایکسٹینشن: watchkit، todaywidget

وائلڈ کارڈ Bundle ID

Apple Wildcard Bundle ID — ستارے کے نشان والا شناخت کنندہ ٹیمپلیٹ سپورٹ کرتا ہے: com.example.*۔ یہ ٹیمپلیٹ ایک ہی کمپنی کی متعدد ایپس کے لیے ایک App ID استعمال کرنے کی اجازت دیتا ہے۔ Wildcard ID ڈیولپمنٹ کے دوران آسان ہے، لیکن پروڈکشن کے لیے سفارش نہیں کی جاتی کیونکہ یہ کچھ Apple خدمات کے استعمال کو محدود کرتا ہے۔

وائلڈ کارڈ کی حدود: پش نوٹیفیکیشنز، CloudKit، ایپ میں خریداری (In-App Purchase) اور Game Center کو واضح (explicit) Bundle ID کی ضرورت ہوتی ہے۔ com.example.* ٹیمپلیٹ استعمال کرتے وقت، یہ خدمات دستیاب نہیں ہوتیں۔ پروڈکشن ایپس کے لیے، تمام Apple خدمات کی مکمل فعالیت کو یقینی بنانے کے لیے ہمیشہ واضح Bundle ID استعمال کریں۔

وائلڈ کارڈ کے علاوہ، Apple سابقہ شناخت کنندگان کو بھی سپورٹ کرتا ہے جو Apple Developer Program میں رجسٹریشن کے وقت ڈیولپمنٹ ٹیم کو تفویض کیے جاتے ہیں۔ سابقہ (Team ID) خود بخود تمام App IDs اور پروویژننگ پروفائلز میں شامل ہو جاتا ہے۔ دو مختلف Team IDs ایک ہی Bundle ID بنا سکتے ہیں، لیکن ڈیوائس پر انہیں مختلف ایپس سمجھا جاتا ہے۔

کنسولز میں Bundle ID رجسٹریشن

Bundle ID رجسٹریشن ایپ شائع کرنے سے پہلے ایک لازمی مرحلہ ہے۔ Apple ماحولیاتی نظام میں، رجسٹریشن Apple Developer Portal میں Certificates, Identifiers & Profiles سیکشن کے ذریعے کی جاتی ہے۔ Google Play میں، Bundle ID ڈیولپر کنسول میں ایپ بناتے وقت بتایا جاتا ہے۔

Apple Developer Portal میں رجسٹریشن

Apple Developer پورٹل پر، Identifiers سیکشن منتخب کریں، Register بٹن پر کلک کریں اور App ID کی قسم بتائیں۔ درست Bundle ID نام درج کریں اور مطلوبہ صلاحیتیں منتخب کریں: Push Notifications، CloudKit، Sign in with Apple۔ رجسٹریشن کے بعد، شناخت کنندہ پروویژننگ پروفائلز بنانے کے لیے دستیاب ہو جاتا ہے۔

swift
// ایپ کوڈ میں Bundle ID کی تصدیق
let bundleID = Bundle.main.bundleIdentifier
print("Current Bundle ID: \(bundleID ?? "unknown")")

// بلڈ شرائط کے لیے Bundle ID کی تصدیق
if bundleID == "com.example.app.production" {
    // پروڈکشن کنفیگریشن
    Analytics.shared.configure(.production)
}

Google Play Console میں رجسٹریشن

Google Play Console کو پہلے سے Bundle ID رجسٹریشن کی ضرورت نہیں ہے۔ شناخت کنندہ ایپ ماڈیول کی build.gradle فائل میں بتایا جاتا ہے اور پورے Google Play میں منفرد ہونا چاہیے۔ ایپ بنانے کے بعد، Package Name تبدیل کرنا ناممکن ہے، لہٰذا شناخت کنندہ کو احتیاط سے منتخب کریں اور Google Play تلاش کے ذریعے اس کی انفرادیت کی تصدیق کریں۔ Google حذف شدہ ایپس کے شناخت کنندگان جاری نہیں کرتا، لہٰذا ایک بار لیا گیا Bundle ID دوسرے ڈیولپرز کے لیے ناقابل استعمال رہتا ہے۔

App Store Connect میں رجسٹریشن کرتے وقت، آپ کو موجودہ رجسٹرڈ شناخت کنندگان کے سیٹ سے ایک Bundle ID بتانا ہوگا۔ اگر شناخت کنندہ ابھی تک Apple Developer پورٹل پر رجسٹر نہیں ہوا ہے، تو سسٹم اسے خود بخود بنانے کی پیشکش کرے گا۔ رجسٹریشن کے بعد، Bundle ID ٹیم سے منسلک ہو جاتا ہے اور Apple سپورٹ سے رابطہ کیے بغیر کسی دوسرے ڈیولپر اکاؤنٹ میں منتقل نہیں کیا جا سکتا۔ ہر Bundle ID مختلف ماحول کے لیے متعدد پروویژننگ پروفائلز رکھ سکتی ہے: Development، Ad Hoc، App Store۔

ایکسٹینشن والی iOS ایپ کے لیے Bundle ID رجسٹر کرتے وقت، ہر جزو کو الگ سے رجسٹر کرنا ہوگا۔ ویجیٹ ایکسٹینشنز، کی بورڈز، Notification Service اور Watch App کے اپنے شناخت کنندگان ہوتے ہیں جو مرکزی سے ماخوذ ہوتے ہیں۔ App Store Connect App Record بناتے وقت انہیں گروپ کرتا ہے، جس سے تمام اجزاء کو ایک ہی ایپ کے طور پر شائع کیا جا سکتا ہے۔

Xcode پروجیکٹ میں Bundle ID کنفیگریشن

Xcode میں Bundle ID کنفیگریشن کئی جگہوں پر کی جاتی ہے: Info.plist، Build Settings اور Signing & Capabilities۔ مرکزی فیلڈ ایپ ٹارگٹ میں Bundle Identifier ہے۔ پش نوٹیفیکیشنز سے CloudKit تک تمام Apple خدمات اس شناخت کنندہ سے منسلک ہوتی ہیں۔ غلط طریقے سے بتایا گیا Bundle ID دستخط کی غلطیوں اور App Store میں شائع کرنے میں ناکامی کا باعث بنتا ہے۔

Xcode میں Bundle ID تبدیل کرنا

xml
<!-- Info.plist — پروجیکٹ کا بنیادی Bundle ID -->
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

<!-- Build Settings — PRODUCT_BUNDLE_IDENTIFIER متغیر -->
<!-- Debug: com.example.app.dev -->
<!-- Release: com.example.app -->

Xcode Build Settings میں PRODUCT_BUNDLE_IDENTIFIER متغیر استعمال کرتا ہے۔ مختلف بلڈ کنفیگریشنز کے لیے مختلف قدریں سیٹ کی جا سکتی ہیں: Debug کے لیے com.example.app.dev اور Release کے لیے com.example.app۔ یہ جانچ کے لیے ایک ہی ڈیوائس پر پروڈکشن ورژن کے ساتھ ڈیولپمنٹ ورژن انسٹال کرنے کے لیے آسان ہے۔

ملٹی ٹارگٹ کنفیگریشن

اگر ایپ میں ایکسٹینشنز (Notification Service، Widget، Watch App) ہیں، تو ہر ایکسٹینشن لاحقہ کے ساتھ اپنا Bundle ID حاصل کرتی ہے۔ مرکزی ایپ: com.example.app۔ ویجیٹ ایکسٹینشن: com.example.app.widget۔ Watch App: com.example.app.watchkit۔ ہر شناخت کنندہ Apple Developer Portal میں الگ سے رجسٹر ہوتا ہے اور اپنا پروویژننگ پروفائل حاصل کرتا ہے۔ Xcode بلڈ کے دوران ان انحصاروں کو خود بخود منظم کرتا ہے۔

App Bundle ID اور Package Name کے درمیان فرق

App Bundle ID (Apple) اور Package Name (Google) ایک ہی مقصد والی مماثل ہستیاں ہیں لیکن iOS اور Android ماحولیاتی نظام میں استعمال کے مختلف قوانین ہیں۔ دونوں شناخت کنندگان ریورس ڈومین نوٹیشن استعمال کرتے ہیں اور سرکاری ایپ اسٹورز میں اشاعت کے بعد تبدیل نہیں کیے جا سکتے۔

فعال فرق

Apple ماحولیاتی نظام میں، Bundle ID پروویژننگ پروفائل اور سرٹیفکیٹس سے منسلک ہوتا ہے۔ ڈیولپمنٹ ٹیم تبدیل کرتے وقت، Bundle ID App Store Connect کے ذریعے اکاؤنٹس کے درمیان منتقل کیا جا سکتا ہے۔ Android میں، Package Name Google Play میں ایپ کے ساتھ سختی سے منسلک ہوتا ہے اور ڈیولپر اکاؤنٹس کے درمیان منتقل نہیں کیا جا سکتا۔

خصوصیتiOS Bundle IDAndroid Package Name
زیادہ سے زیادہ لمبائیلا محدود150 حروف
حصہ جدا کرنے والانقطہ (.)نقطہ (.)
اجازت شدہ حروفA-Z، a-z، 0-9، نقطہ، ڈیشA-Z، a-z، 0-9، نقطہ، زیرخط
وائلڈ کارڈمعاون (*)معاون نہیں
کوڈ میں استعمالBundle.main.bundleIdentifierBuildConfig.APPLICATION_ID

فرق کے باوجود، دونوں شناخت کنندگان اہم کردار ادا کرتے ہیں: ان کے بغیر سرکاری اسٹور میں ایپ شائع کرنا ناممکن ہے۔ کراس پلیٹ فارم پروجیکٹس کے لیے سفارش — Firebase، Analytics اور دیگر خدمات کے ساتھ انضمام کو آسان بنانے کے لیے iOS اور Android ورژنز میں ایک ہی شناخت کنندہ استعمال کریں۔ یہ ڈیولپمنٹ ٹیم کے لیے نیویگیشن کو بھی آسان بناتا ہے: دونوں پروجیکٹس کے لیے ایک شناخت کنندہ CI/CD سیٹ اپ اور ماحول کی کنفیگریشن میں الجھن کو کم کرتا ہے۔

Flutter یا React Native کے ساتھ ڈیولپمنٹ کرتے وقت، ایک واحد شناخت کنندہ خاص طور پر اہم ہے کیونکہ کوڈبیس مشترکہ ہوتا ہے اور بہت سے خودکار بلڈ ٹولز دونوں پلیٹ فارمز کے لیے ایک ہی پیکیج نام کی توقع کرتے ہیں۔ ایک Firebase پروجیکٹ بھی iOS اور Android کے لیے ایک ہی شناخت کنندہ سے منسلک ہوتا ہے، جس سے تجزیات اور کریش رپورٹنگ سیٹ اپ آسان ہو جاتا ہے۔

اکثر پوچھے گئے سوالات

کیا ایپ شائع کرنے کے بعد Bundle ID تبدیل کیا جا سکتا ہے؟

Bundle ID تبدیل کرنا App Store یا Google Play میں اشاعت کے بعد ناممکن ہے۔ سسٹم نئے شناخت کنندہ کو مکمل طور پر مختلف ایپ سمجھے گا۔ موجودہ پروڈکٹ کو اپ ڈیٹ کرنے کے لیے، Bundle ID کو ایپ کی پوری زندگی کے دورانیے میں تبدیل نہیں رہنا چاہیے۔

اگر دو ایپس کا Bundle ID ایک جیسا ہو تو کیا ہوگا؟

ایک iOS یا Android ڈیوائس پہلی کے اوپر ایک ہی شناخت کنندہ والی دوسری ایپ انسٹال کرنے کی اجازت نہیں دے گی۔ سسٹم ایک غلطی دکھائے گا اور موجودہ ایپ کو حذف کرنے کا مشورہ دے گا۔ اسٹورز میں، ڈپلیکیٹ Bundle ID کے ساتھ اشاعت بھی بلاک کر دی جائے گی۔

نئے پروجیکٹ کے لیے Bundle ID صحیح طریقے سے کیسے منتخب کریں؟

اپنی کمپنی کا ریورس ڈومین نوٹیشن استعمال کریں: com.companyname.appname۔ ڈیش اور خصوصی حروف سے پرہیز کریں۔ اگر ایپ میں ایکسٹینشنز ہیں تو نقطوں سے الگ کردہ لاحقے شامل کریں۔ یقینی بنائیں کہ شناخت کنندہ منفرد ہے اور کسی دوسرے ڈیولپر کے پاس نہیں ہے۔

کیا ہر ایپ ایکسٹینشن کو علیحدہ Bundle ID کی ضرورت ہے؟

ہاں، ہر ایکسٹینشن — ویجیٹ، Watch App، Notification Service — کو اپنے Bundle ID کی ضرورت ہوتی ہے۔ شناخت کنندگان ایک درجہ بندی بناتے ہیں: com.example.app بطور بنیاد، com.example.app.widget ویجیٹ کے لیے، com.example.app.watchkit Watch کے لیے۔ سب Apple Developer Portal میں الگ سے رجسٹر ہوتے ہیں اور پیرنٹ ایپ کے ساتھ ایک مشترکہ App ID شیئر کرتے ہیں۔

Apple Developer پورٹل میں Bundle ID اور App ID میں کیا فرق ہے؟

Bundle ID ایپ کوڈ میں ایک شناخت کنندہ سٹرنگ ہے۔ App ID Apple Developer Portal میں ایک آبجیکٹ ہے جو Bundle ID کو فعال خدمات (capabilities) کے ایک سیٹ کے ساتھ جوڑتا ہے۔ App ID Bundle ID کی بنیاد پر بنایا جاتا ہے اور پروویژننگ پروفائلز بنانے کے لیے استعمال ہوتا ہے۔

خلاصہ

  • App Bundle ID — iOS اور Android ماحولیاتی نظام میں منفرد ایپ شناخت کنندہ
  • فارمیٹ ریورس ڈومین نوٹیشن پر مبنی: com.company.appname
  • تبدیلی — اشاعت کے بعد Bundle ID تبدیل کرنا اسٹور میں نئی ایپ بنائے بغیر ناممکن ہے
  • وائلڈ کارڈ Bundle ID com.example.* ڈیولپمنٹ کے لیے آسان ہے لیکن Push، CloudKit اور ایپ میں خریداری کے ساتھ مطابقت نہیں رکھتا
  • ایکسٹینشنز نقطہ سے الگ کردہ لاحقوں کے ساتھ اپنے Bundle IDs حاصل کرتی ہیں
  • رجسٹریشن بالترتیب Apple Developer Portal اور Google Play Console میں کی جاتی ہے
  • سفارش — شناخت کنندہ کو سوچ سمجھ کر منتخب کریں، اشاعت سے پہلے انفرادیت کی تصدیق کریں

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں