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 का समर्थन करता है: Audio (ऑडियो), Location (स्थान), 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+

ऑडियो मोड (Audio, AirPlay और Picture in Picture)

Audio Background Mode सबसे आम मोड है, जिसका उपयोग संगीत प्लेयर, पॉडकास्ट ऐप्स और ऑडियो सेवाओं द्वारा किया जाता है। ऐप ऑडियो प्लेबैक जारी रख सकता है, कंट्रोल सेंटर के माध्यम से नियंत्रित किया जा सकता है और लॉक स्क्रीन पर दिखाई दे सकता है। इसे सक्रिय करने के लिए, .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 से शुरू, Audio Background Mode वीडियो के लिए Picture in Picture का भी समर्थन करता है। ऐप छोटा करने पर फ्लोटिंग विंडो में वीडियो दिखाना जारी रख सकता है। सक्रिय करने के लिए, AVPlayerLayer के साथ AVPictureInPictureController का उपयोग करें। यह मोड केवल तभी काम करता है जब ऐप ऑडियो ट्रैक चला रहा हो।

जियोलोकेशन (स्थान अपडेट)

Location Background Mode ऐप को बैकग्राउंड में स्थान अपडेट प्राप्त करने की अनुमति देता है। इसका उपयोग नेविगेशन ऐप्स, फ़िटनेस ट्रैकर्स, डिलीवरी ऐप्स और सोशल नेटवर्क में किया जाता है। इस मोड के बिना, ऐप बैकग्राउंड में जाने पर केवल एक बार स्थान प्राप्त करता है, जिसके बाद अपडेट बंद हो जाते हैं।

स्थान ट्रैकिंग के प्रकार

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 मोड Location Background Mode के बिना काम करता है — सिस्टम ऐप को तभी जगाता है जब निर्देशांक महत्वपूर्ण रूप से बदलते हैं (आमतौर पर 500 मी या अधिक)। इसे निरंतर GPS की आवश्यकता नहीं होती, जिससे बैटरी बचती है। मौसम ऐप्स के लिए उपयुक्त जो उपयोगकर्ता के स्थानांतरित होने पर डेटा अपडेट करते हैं।

Bluetooth मोड (LE एक्सेसरीज़)

Bluetooth LE Background Mode ऐप को बैकग्राउंड में BLE उपकरणों के साथ इंटरैक्ट करने की अनुमति देता है। इसका उपयोग फ़िटनेस बैंड, मेडिकल सेंसर, स्मार्ट होम उपकरणों और बीकन नेविगेशन में किया जाता है। मोड दो उपप्रकारों में विभाजित है: bluetooth-central (ऐप उपकरणों से जुड़ता है) और bluetooth-peripheral (ऐप एक उपकरण के रूप में कार्य करता है)।

Central मोड में कार्य करना

Central के रूप में कार्य करने वाला ऐप बैकग्राउंड में BLE उपकरणों को स्कैन और कनेक्ट कर सकता है। ऐसा करने के लिए, Background Modes में bluetooth-central निर्दिष्ट करें और CBCentralManager.scanForPeripherals को CBCentralManagerScanOptionAllowDuplicatesKey विकल्प के साथ कॉल करें। बैकग्राउंड में, स्कैनिंग कम आवृत्ति पर चलती है — सिस्टम ऊर्जा बचाने के लिए खोज में देरी कर सकता है।

Peripheral मोड में कार्य करना

Peripheral के रूप में कार्य करने वाला ऐप सेवाओं का विज्ञापन कर सकता है और अन्य उपकरणों के अनुरोधों का जवाब दे सकता है। bluetooth-peripheral मोड ऐप को बैकग्राउंड में भी अन्य BLE उपकरणों को दिखाई देने की अनुमति देता है। इसका उपयोग HealthKit ऐप्स और IoT समाधानों में किया जाता है।

बीकन और क्षेत्र निगरानी

iBeacon निगरानी बिना अतिरिक्त अनुमतियों के बैकग्राउंड में काम करती है — सिस्टम स्वयं बीकन क्षेत्रों में प्रवेश और निकास को ट्रैक करता है। लेकिन बीकन सामग्री (proximity UUID, major, minor) स्कैन करने के लिए Bluetooth अनुमति और bluetooth-central Background Mode की आवश्यकता होती है। निगरानी के लिए CLBeaconRegion के साथ CLLocationManager का उपयोग करें।

संचार ऐप्स के लिए VoIP और PushKit

VoIP Background Mode वॉइस संचार ऐप्स (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 प्रत्येक मोड के औचित्य की सख्ती से जांच करता है — अनुचित उपयोग से ऐप अस्वीकृति होती है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें