iOS میں Background Modes — یہ کیا ہے، کون سے موڈ ہیں اور ترتیب

مصنف: IT Sectr اشاعت: 2026-03-27 مطالعے کا وقت: 9 منٹ

Background Modes iOS کی قابل اعلان صلاحیتوں کا ایک سیٹ ہے جو ایپ کو پس منظر میں جانے کے بعد کوڈ جاری رکھنے کی اجازت دیتا ہے۔ ہر موڈ ایک مخصوص قسم کے کام سے مطابقت کرتا ہے: آڈیو، جیولوکیشن، VoIP، Bluetooth، fetch اور processing۔ Apple، 2026 کے مطابق، Background Modes کا غلط استعمال App Store جائزہ میں ایپ مسترد کی ایک عام وجہ ہے۔

اهم نکات

  • Background Modes — پس منظر میں جائز کوڈ عمل کے لیے iOS صلاحیتوں کا سیٹ۔
  • آڈیو موڈ — کنٹرول سینٹر کے ذریعے کنٹرول کے ساتھ پس منظر میں موسیقی، پاڈکاسٹ، آڈیو کتابیں چلانا۔
  • جیولوکیشن — نیویگیشن اور فٹنس ٹریکرز کے لیے پس منظر میں مقام کا ٹریکنگ۔
  • Bluetooth — پس منظر میں BLE آلات کے ساتھ کام: فٹنس بینڈ، سینسرز، پیری فیرالز۔
  • Apple جائزہ — موڈ کا غیر جائز استعمال App Store سے ایپ مسترد کا سبب بنتا ہے۔

iOS میں Background Modes کیا ہیں؟

Background Modes Xcode پروجیکٹ کی صلاحیتیں ہیں جو پس منظر میں مخصوص قسم کے آپریشن کرنے کے ایپ کے ارادے کا اعلان کرتی ہیں۔ Android کے برخلاف، جہاں ایپ پس منظر میں کوئی بھی Service شروع کر سکتا ہے، iOS کو Info.plist میں موڈ کے واضح اعلان کی ضرورت ہے۔ ہر موڈ کے سخت استعمال قواعد ہیں اور Apple جائزے کے دوران اسے تصدیق کرتا ہے۔

Background Modes کیسے کام کرتے ہیں

جب ایپ پس منظر میں جاتا ہے، iOS اسے 3–5 سیکنڈ میں معطل کر دیتا ہے۔ اگر ایپ Background Mode کا اعلان کرتا ہے اور متبقہ API (مثال کے طور آڈیو کے لیے AVAudioSession) کو فعالی سے استعمال کرتا ہے، سسٹم اسے ایک خاص عمل کے موڈ میں رکھتا ہے۔ ایپ میمری میں رہتا ہے اور موڈ کی قسم سے محدود کوڈ چلا سکتا ہے۔

دستیاب موڈ کی مکمل فہرست

iOS مندرجہ ذیل Background Modes کو سپورٹ کرتا ہے: آڈیو، مقام، VoIP، Bluetooth LE (BLE آلات)، Background Fetch (متوقع تازہ کاریاں)، Background Processing (طویل کام)، External Accessory Communication، Push to Talk (PTT) اور HealthKit۔ ہر موڈ کو ایپ تفصیل میں جواز کی ضرورت ہے۔

موڈInfo.plist کلیدمقصدiOS ورشن
Audioaudioپس منظر آڈیو، AirPlay4.0+
Locationlocationمقام کا ٹریکنگ4.0+
VoIPvoipVoIP پش اطلاعات4.0+
BLEbluetooth-centralBLE آلات کے ساتھ کام7.0+
Fetchfetchمتوقع ڈیٹا ڈاؤن لوڈ7.0+
Processingprocessingطویل پس منظر کام13.0+
Push to Talkpush-to-talkپش-ٹو-ٹاک آواز16.0+

آڈیو موڈ (آڈیو، AirPlay اور Picture in Picture)

آڈیو پس منظر موڈ سب سے عام موڈ ہے، جو موسیقی پلیرز، پاڈکاسٹ ایپ اور آڈیو سروسز استعمال کرتے ہیں۔ ایپ آڈیو پلے بیک جاری رکھ سکتا ہے، کنٹرول سینٹر کے ذریعے کنٹرول کیا جا سکتا ہے اور لاک اسکرین پر ظاہر ہو سکتا ہے۔ اسے فعال کرنے کے لیے .playback زمرے کے ساتھ AVAudioSession ترتیب دےنا کافی ہے۔

آڈیو سیشن ترتیب دےنا

پس منظر میں آڈیو کے کام کرنے کے لیے، AVAudioSession کو ترتیب دےنا اور فعال کرنا ضروری ہے۔ .playback زمرہ سسٹم کو بتاتا ہے کہ ایپ آڈیو چلا رہا ہے اور پس منظر میں فعال رہنا چاہیے۔ اس ترتیب کے بغیر، ایپ کو چھوٹا کرنے کے 5–10 سیکنڈ بعد آڈیو رک جائے گا۔

swift
import AVFoundation

func configureAudioSession() {
    let session = AVAudioSession.sharedInstance()
    do {
        try session.setCategory(
            .playback,
            mode: .default,
            options: []
        )
        try session.setActive(true)
    } catch {
        print("آڈیو سیشن کی غلطی: \(error)")
    }
}

کنٹرول سینٹر سے پلے بیک کو کنٹرول کرنا

کنٹرول سینٹر اور لاک اسکرین کے ساتھ انضمام کے لیے MPRemoteCommandCenter ترتیب دےنا ضروری ہے۔ یہ چلائیں، روکیں، اگلا اور پځھلا ٹریک کے حکموں کو سنبھالتا ہے۔ میٹا ڈیٹا ظاہر کرنے کے لیے MPNowPlayingInfoProperty کو اپڈیٹ کرنا بھی ضروری ہے: ٹریک کا نام، فنکار، آرٹ ورک اور پلے بیک کی ترقی۔

ویڈیو کے لیے Picture in Picture

iOS 14 سے شروع کرتے ہوئے، آڈیو پس منظر موڈ ویڈیو کے لیے Picture in Picture کو بھی سپورٹ کرتا ہے۔ ایپ چھوٹا ہونے پر تیرتے ہوئے وینڈو میں ویڈیو دیڤائے جاری رکھ سکتا ہے۔ فعال کرنے کے لیے AVPlayerLayer کے ساتھ AVPictureInPictureController استعمال کریں۔ یہ موڈ صرف اس وقت کام کرتا ہے جب ایپ آڈیو ٹریک چلا رہا ہو۔

جیولوکیشن (مقام کی تازہ کاریاں)

مقام پس منظر موڈ ایپ کو پس منظر میں مقام کی تازہ کاریاں حاصل کرنے کی اجازت دیتا ہے۔ یہ نیویگیشن ایپس، فٹنس ٹریکرز، ڈلیوری ایپس اور سوشل نیٹورکس میں استعمال ہوتا ہے۔ اس موڈ کے بغیر، ایپ پس منظر میں جاتے وقت صرف ایک بار مقام حاصل کرتا ہے، اس کے بعد تازہ کاریاں رک جاتی ہیں۔

مقام کے ٹریکنگ کی اقسام

CLLocationManager کئی ٹریکنگ حکمت عملیں کو سپورٹ کرتا ہے: اہم تبدیلی مقام، معیاری مقام کا ٹریکنگ اور علاقہ کی نگرانی۔ زیادہ سے زیادہ دروستی کے ساتھ پس منظر میں کام کے لیے، allowsBackgroundLocationUpdates = true اور pausesLocationUpdatesAutomatically = false استعمال کریں۔

قابلیت کی کارکردگی اور دروستی

پس منظر میں مسلسل مقام کا ٹریکنگ سب سے زیادہ قابلیت کھانے والے مناظر میں سے ایک ہے۔ iOS خود بخود حرکت کی رفتار کے مطابق تازہ کاریوں کی فریکونسی کو کم کرتا ہے: چلتے وقت ہر 10–30 سیکنڈ بعد، گاڑی چلاتے وقت ہر 1–5 سیکنڈ بعد۔ نیویگیشن کے لیے، desiredAccuracy = kCLLocationAccuracyBestForNavigation استعمال کریں۔

swift
let locationManager = CLLocationManager()
locationManager.requestAlwaysAuthorization()
locationManager.allowsBackgroundLocationUpdates = true
locationManager.pausesLocationUpdatesAutomatically = false
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.activityType = .fitness
locationManager.startUpdatingLocation()

اہم تبدیلی مقام

significant-change location موڈ مقام پس منظر موڈ کے بغیر کام کرتا ہے — سسٹم ایپ کو صرف اس وقت جگاتا ہے جب نقاط میں اہم تبدیلی آتی ہے (عموماً 500 میٹر یا زیادہ)۔ اسے مسلسل GPS کی ضرورت نہیں ہے، بیٹری بچاتا ہے۔ موسم کی ایپ کے لیے موزوں ہے جو صاحب استعمال کے حرکت کرنے پر ڈیٹا اپڈیٹ کرتی ہیں۔

Bluetooth موڈ (LE آلات)

Bluetooth LE پس منظر موڈ ایپ کو پس منظر میں BLE آلات کے ساتھ باتچیت کرنے کی اجازت دیتا ہے۔ یہ فٹنس بینڈ، طبی سینسرز، سمارٹ ہوم آلات اور بیکن نیویگیشن میں استعمال ہوتا ہے۔ موڈ دو ذیلی قسموں میں تقسیم ہوتا ہے: bluetooth-central (ایپ آلات سے منسلک ہوتا ہے) اور bluetooth-peripheral (ایپ ایک آلہ کے طور پر کام کرتا ہے)۔

Central موڈ میں کام کرنا

Central کے طور پر کام کرنے والا ایپ پس منظر میں BLE آلات کو اسکین کر سکتا ہے اور ان سے منسلک ہو سکتا ہے۔ ایسا کرنے کے لیے، Background Modes میں bluetooth-central متعین کریں اور CBCentralManagerScanOptionAllowDuplicatesKey اختیار کے ساتھ CBCentralManager.scanForPeripherals کو کال کریں۔ پس منظر میں، اسکیننگ کم فریکونسی پر چلتا ہے — سسٹم قابلیت بچانے کے لیے دریافت میں تاخیر کر سکتا ہے۔

Peripheral موڈ میں کام کرنا

Peripheral کے طور پر کام کرنے والا ایپ خدمات کا اشتہار دے سکتا ہے اور دوسرے آلات کی درخواستوں کا جواب دے سکتا ہے۔ bluetooth-peripheral موڈ ایپ کو پس منظر میں بھی دوسرے BLE آلات کو نظر آنے کی اجازت دیتا ہے۔ یہ HealthKit ایپ اور IoT حلوں میں استعمال ہوتا ہے۔

Beacon اور علاقہ کی نگرانی

iBeacon نگرانی بغیر اضافی اتcازتوں کے پس منظر میں کام کرتی ہے — سسٹم خود Beacon علاقوں میں داخل اور اخراج کا ٹریک رکھتا ہے۔ لیکن Beacon کے مواد (proximity UUID، major، minor) کو اسکین کرنے کے لیے Bluetooth اجازت اور bluetooth-central Background Mode کی ضرورت ہے۔ نگرانی کے لیے CLBeaconRegion کے ساتھ CLLocationManager استعمال کریں۔

مواصلاتی ایپ کے لیے VoIP اور PushKit

VoIP پس منظر موڈ صوتی مواصلات کے ایپ (Skype، Zoom، WhatsApp) کے لیے ڈیزائن کیا گیا ہے۔ یہ موڈ ایپ کو آنے والی کالز وصول کرنے کے لیے سرور سے منسلک رہنے کی اجازت دیتا ہے۔ iOS 8 سے شروع کرتے ہوئے، VoIP کے لیے PushKit استعمال ہوتا ہے — ایک فریم ورک جو APNs کو شامل کیے بغیر VoIP سرور سے پش اطلاعات کو سنبھالتا ہے۔

آنے والی کالز کے لیے PushKit

PushKit واحد میکانزم ہے جو ڈاؤنڈ پر VoIP اطلاعات کی ترسیل کی ضمانت دیتا ہے۔ جب PushKit اطلاع موصول ہوتی ہے، سسٹم ایپ کو جگاتا ہے، چاہے وہ ختم کر دیا گیا ہو۔ ایپ کو 30 سیکنڈ میں سرور کے ساتھ رابطہ قائم کرنا چاہیے اور آنے والی کال کے لیے مقامی اطلاع ظاہر کرنا چاہیے۔

swift
import PushKit

class VoIPHandler: NSObject, PKPushRegistryDelegate {
    func pushRegistry(
        _ registry: PKPushRegistry,
        didReceiveIncomingPushWith payload: PKPushPayload,
        for type: PKPushType,
        completion: @escaping () -> Void
    ) {
        let caller = payload.dictionaryPayload["caller"] as! String
        reportIncomingCall(from: caller)
        completion()
    }
}

PushKit کے استعمال کے قواعد

PushKit کو عام اطلاعات کے لیے استعمال نہیں کیا جا سکتا — صرف VoIP، watchOS مواصلات اور فائل فراہم کنندگان کے لیے۔ Apple جائزے کے دوران اسے تصدیق کرتا ہے۔ غیر جائز استعمال ایپ مسترد کا سبب بنتا ہے۔ iOS 13 سے شروع کرتے ہوئے، PushKit صرف اطلاع پہنچاتا ہے — کال کی سکرین ظاہر کرنے کے لیے CXProvider (CallKit) کو کال کرنا لازمی ہے۔

Fetch اور Processing موڈ

Background Fetch اور Background Processing پس منظر مواد کی تازہ کاری اور طویل کاموں کے لیے موڈ ہیں۔ Fetch مختصر متوقع تازہ کاری (30 سیکنڈ تک) کے لیے، Processing شرائط (Wi-Fi، چارجنگ) کے ساتھ طویل کاموں (10 منٹ تک) کے لیے ہے۔ Processing صرف iOS 13+ پر دستیاب ہے۔

Background Fetch — تیز تازہ کاری

Fetch موڈ سسٹم کو نئے مواد ڈاؤن لوڈ کرنے کے لیے وقتا بہ وقت ایپ جگانے کی اجازت دیتا ہے۔ سسٹم صاحب استعمال کے رویہ کا تجزیہ کرتا ہے اور موزوں وقت کا انتخاب کرتا ہے۔ ایپ کو 30 سیکنڈ میں completion handler کو کال کرنا چاہیے۔ Fetch خبروں کی ایپس، سوشل میڈیا فیڈز اور موسم کے لیے موزوں ہے۔

Background Processing — طویل کام

BGProcessingTask ان کاموں کے لیے ڈیزائن کی گئی ہے جو صاحب استعمال کی شمولیت کے بغیر چل سکتے ہیں: کیش صفائی، بڑے ڈیٹابیس ہم آہنگی، میڈیا فائل پروسیسنگ۔ سسٹم کام کو صرف مواتر حالات میں شروع کرتا ہے — ڈاؤنڈ چارج ہو رہا ہو، Wi-Fi سے منسلک ہو، کم بیجلی موڈ میں نہ ہو۔ 10 منٹ تک دستیاب ہے۔

مرتب بنانا اور ضرورتیں

BGProcessingTask کے لیے، requiresExternalPower اور requiresNetworkConnectivity کی وضاحت کرنا ضروری ہے۔ اگر شرائط پوری نہیں ہوتیں تو سسٹم عمل کو لامتعین مدت کے لیے ملتوی کر سکتا ہے۔ BGAppRefreshTask کے برخلاف، جسے دن میں کم سے کم ایک بار چلنا چاہیے، Processing کو ہفتے تک چلایا نہ جا سکتا ہے اگر ڈاؤنڈ شازہ ہی چارج کیا جاتا ہے۔

Background Modes کے لیے App Store جائزہ ہدایات

Apple ایپ جائزے کے دوران Background Modes کے استعمال کی سختی سے جانچ کرتا ہے۔ بنیادی قاعدہ: ہر فعال موڈ کو ایپ کی فنکشنالٹی سے جواز دیا جانا چاہیے۔ اگر ایپ Location Mode کا اعلان کرتا ہے لیکن جیولوکیشن استعمال نہیں کرتا، تو اسے صلاحیت ہٹانے کی ضرورت کے ساتھ مسترد کر دیا جائے گا۔

مسترد کے عام اسباب

سب سے عام خلافتیں: Location Mode واضح ضرورت کے بغیر (ایپ اشتہار دیڤانے کے لیے “ہمیشہ” رسائی کا مطالبہ کرتا ہے)، پس منظر آڈیو پلے بیک کے بغیر Audio Mode، PushKit کے بغیر VoIP، Bluetooth آلات کے بغیر BLE Mode۔ Apple اپڈیٹ کے مرحلے پر بھی ایپ کو مسترد کر سکتا ہے اگر موڈ مزید استعمال نہیں ہوتا۔

جائزہ نوٹس میں وضاحت

جائزے کے لیے جمع کرتے وقت، نوٹس میں ہر موڈ کے لیے مخصوص جواز فراہم کریں۔ مثال کے طور پر، “Location Background Mode کو فٹنس فیچر میں صاحب استعمال کے راستے کو ٹریک کرنے کے لیے استعمال کیا جاتا ہے”۔ وضاحت کے بغیر، جائزہ لنے والا شخص ایپ کو مسترد کر سکتا ہے۔ خفیہ فنکشنز (VoIP) کے لیے، Apple ایک ٹیسٹ اکاؤنٹ کی طلب کر سکتا ہے۔

موڈ کی تعداد کم کرنے کی سفارشات

موڈ کا کم از کم ضروری سیٹ استعمال کریں۔ اگر آپکے ایپ کو ہر گھنٹے ایک بار پس منظر ڈیٹا ڈاؤن لوڈ کی ضرورت ہے — Location Mode فعال نہ کریں، Fetch یا BGAppRefreshTask استعمال کریں۔ اضافی موڈ نہ صرف مسترد کینے کا سبب بنتے ہیں بلکہ منفی تاثر بھی ڈالتے ہیں: صاحب استعمال ترتیبات میں دیکھتا ہے کہ ایپ پس منظر میں جیولوکیشن استعمال کرتا ہے۔

اکثر پوچے جانے والے سوالات

ایک ایپ میں کتنے Background Modes فعال کیے جا سکتے ہیں؟

تعداد کی کوئی حد نہیں ہے، لیکن ہر موڈ کو ایپ کی فنکشنالٹی سے جواز دیا جانا چاہیے۔ ضرورت کے بغیر تمام موڈ کو فعال کرنا جائزے کے دوران مسترد کی ایک یقینی وجہ ہے۔ عملی حد فی ایپ 2–3 موڈ ہے، ورنہ صاحب استعمال بہت سارے اجازت کے مطالبات دیکھے گا۔

میں کیسے چیک کروں کہ Background Mode فعال ہے یا نہیں؟

UIApplication.shared.applicationState استعمال کریں — ایپ چیک کر سکتا ہے کہ وہ پس منظر میں ہے (state == .background)۔ رویۇں کو بدلنے کے لیے UIApplication.didEnterBackgroundNotification اور willEnterForegroundNotification اطلاعات کو بھی دیڤا جا سکتا ہے۔

Audio اور AirPlay Background Modes میں کیا فرق ہے؟

Audio — سپیکر یا ہیڈفون سے آواز چلانا۔ AirPlay — Apple TV اور دوسرے AirPlay آلات پر آڈیو اور ویڈیو کا سٹریمنگ۔ عمل میں، Audio Mode دونوں مناظر کا احاطہ کرتا ہے کیونکہ AirPlay آڈیو سیشن استعمال کرتا ہے۔ iOS 7+ سے علاوہ ایک علیحدہ AirPlay موڈ کی ضرورت نہیں ہے۔

کیا میں صرف ایپ کھولے ہونے پر Background Location استعمال کر سکتا ہوں؟

ہاں، اس کے لیے requestAlwaysAuthorization کے بجائے requestWhenInUseAuthorization() استعمال کریں۔ ایپ صرف اگری پس منظر میں مقام حاصل کرے گا۔ اگر پس منظر میں مختصر ٹریکنگ کی ضرورت ہو تو startUpdatingLocation() کو کال کریں اور willResignActive میں اسے روکیں۔

Background Modes بیٹری کو کیسے متاثر کرتے ہیں؟

ہر موڈ بجلی کی کھپت میں اضافہ کرتا ہے۔ Location Mode سب سے زیادہ بجلی کھانے والا موڈ ہے، مسلسل ٹریکنگ سے بیٹری کی زندگی 30–50% تک کم ہو سکتی ہے۔ Audio Mode متوسط (15–20%) ہے۔ Fetch اور Processing حد ادنی ہیں (2–5%)۔ BLE Mode Bluetooth LE کی قابلیت کی کارکردگی کے سبب کم (5–10%) ہے۔

خلاصہ

  • Background Modes — iOS کی قابل اعلان صلاحیتیں جو ایپ کو پس منظر میں جائز طور پر کوڈ چلانے کی اجازت دیتی ہیں۔
  • Audio Mode — سب سے عام، .playback زمرے کے ساتھ AVAudioSession کے ذریعے موسیقی، پاڈکاسٹ اور ویڈیو چلانے کے لیے۔
  • Location Mode — نیویگیشن اور فٹنس کے لیے، سب سے زیادہ قابلیت کھانے والا، requestAlwaysAuthorization اور allowsBackgroundLocationUpdates کی ضرورت ہے۔
  • BLE Mode — پس منظر اسکیننگ کے ساتھ CBCentralManager کے ذریعے پس منظر میں Bluetooth آلات کے ساتھ کام۔
  • VoIP اور PushKit — مواصلاتی ایپ کے لیے، PKPushRegistry کے ذریعے آنے والی کالز کی ترسیل کی ضمانت دیتا ہے۔
  • Fetch اور Processing — مختلف عمل کی شرائط اور وقت کی حدود کے ساتھ مختصر اور طویل پس منظر کام۔
  • Apple ہر موڈ کے جواز کی سختی سے تصدیق کرتا ہے — غیر جائز استعمال App Store سے ایپ مسترد کا سبب بنتا ہے۔

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

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

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

مزید پڑھیں