Background Modes iOS-ben — mi ez, milyen módok vannak és beállítás

Szerző: IT Sectr Megjelenés: 2026-03-27 Olvasási idő: 9 perc

Background Modes — az iOS deklarálható képességeinek halmaza, amelyek lehetővé teszik az alkalmazás számára, hogy a háttérmódba való átlépés után is folytassa a kód végrehajtását. Minden mód egy adott feladattípusnak felel meg: audio, helymeghatározás, VoIP, Bluetooth, fetch és processing. A Apple, 2026 szerint a Background Modes helytelen használata az egyik gyakori oka az alkalmazások elutasításának az App Store felülvizsgálatakor.

Főbb pontok

  • Background Modes — iOS capability-k halmaza a legitim háttérkód végrehajtáshoz.
  • Audio mód — zene, podcast, hangoskönyvek lejátszása háttérben, vezérlés a Control Centeren keresztül.
  • Helymeghatározás — hely követése háttérben navigációhoz és fitneszkövetőkhöz.
  • Bluetooth — BLE-eszközökkel való munka háttérben: fitneszkarkötők, érzékelők, perifériák.
  • Apple ellenőrzés — a módok jogosulatlan használata az alkalmazás App Store-ból való elutasításához vezet.

Mi az a Background Modes iOS-ben?

Background Modes — az Xcode projekt capability-i, amelyek deklarálják az alkalmazás szándékát bizonyos típusú háttérműveletek végrehajtására. Az Androidtól eltérően, ahol az alkalmazás bármilyen Service-t elindíthat a háttérben, az iOS megköveteli a mód explicit megadását az Info.plist-ben. Minden módnak szigorú használati szabályai vannak, és az Apple ellenőrzi a felülvizsgálat során.

Hogyan működnek a Background Modes

Amikor az alkalmazás háttérbe kerül, az iOS 3–5 másodperc után felfüggeszti. Ha az alkalmazás deklarál egy Background Mode-ot és aktívan használja a megfelelő API-t (például AVAudioSession-t audiohoz), a rendszer egy speciális végrehajtási módba helyezi. Az alkalmazás a RAM-ban marad, és a mód típusa által korlátozott kódot hajthat végre.

Az elérhető módok teljes listája

Az iOS a következő Background Modes-okat támogatja: Audio, Location, VoIP, Bluetooth LE, Background Fetch, Background Processing, External Accessory Communication, Push to Talk (PTT) és HealthKit. Minden mód indoklást igényel az alkalmazás leírásában.

MódInfo.plist kulcsRendeltetésiOS verzió
AudioaudioHáttéraudio, AirPlay4.0+
LocationlocationHely követése4.0+
VoIPvoipVoIP push értesítések4.0+
BLEbluetooth-centralBLE-eszközökkel való munka7.0+
FetchfetchIdőszakos adatletöltés7.0+
ProcessingprocessingHosszú háttérfeladatok13.0+
Push to Talkpush-to-talkHangalapú push-to-talk16.0+

Audio mód (Audio, AirPlay és Picture in Picture)

Audio Background Mode — a legelterjedtebb mód, amelyet zenelejátszók, podcast-alkalmazások és audiószolgáltatások használnak. Az alkalmazás folytathatja a hang lejátszását, vezérelhető a Control Centeren keresztül és megjeleníthető a Lock Screen-en. Az aktiváláshoz elegendő az AVAudioSession konfigurálása a .playback kategóriával.

Az audió munkamenet konfigurálása

A háttérben történő audió működéshez konfigurálnia kell az AVAudioSession-t és aktiválnia kell. A .playback kategória tájékoztatja a rendszert, hogy az alkalmazás hangot játszik le, és aktívnak kell maradnia a háttérben. E konfiguráció nélkül a hang 5–10 másodpercen belül leáll az alkalmazás minimalizálásakor.

swift
import AVFoundation

func configureAudioSession() {
    let session = AVAudioSession.sharedInstance()
    do {
        try session.setCategory(
            .playback,
            mode: .default,
            options: []
        )
        try session.setActive(true)
    } catch {
        print("Audió munkamenet hiba: \(error)")
    }
}

A lejátszás vezérlése a Control Centerből

A Control Center-rel és a Lock Screen-nel való integrációhoz konfigurálnia kell az MPRemoteCommandCenter-t. Ez feldolgozza a Play, Pause, Next és Previous Track parancsokat. Szintén frissítenie kell az MPNowPlayingInfoProperty-t a metaadatok megjelenítéséhez: dal címe, előadó, borítókép és lejátszási állapot.

Picture in Picture videóhoz

iOS 14-től kezdve a Background Mode audio támogatja a Picture in Picture funkciót is videóhoz. Az alkalmazás folytathatja a videó megjelenítését egy lebegő ablakban minimalizáláskor. Az aktiváláshoz használja az AVPictureInPictureController-t AVPlayerLayer-rel. A mód csak akkor működik, ha az alkalmazás audiósávot játszik le.

Helymeghatározás (Location updates)

Location Background Mode lehetővé teszi az alkalmazás számára, hogy háttérben kapjon helymeghatározási frissítéseket. Navigátorokban, fitneszkövetőkben, szállítási alkalmazásokban és közösségi hálózatokban használatos. E mód nélkül az alkalmazás csak egyszer kap helyet a háttérbe lépéskor, utána a frissítések megszűnnek.

A helykövetés típusai

A CLLocationManager több követési stratégiát támogat: jelentős változások (significant-change location), szabványos követés (standard location) és régiófigyelés (region monitoring). A háttérben végzett maximális pontosságú munkához használja a allowsBackgroundLocationUpdates = true és pausesLocationUpdatesAutomatically = false beállításokat.

Energiahatékonyság és pontosság

A hely folyamatos követése a háttérben az egyik legenergiaigényesebb forgatókönyv. Az iOS automatikusan igazítja a frissítések gyakoriságát a mozgás sebességéhez: gyalogláskor 10–30 másodpercenként, autóvezetéskor 1–5 másodpercenként. Navigációhoz használja a desiredAccuracy = kCLLocationAccuracyBestForNavigation beállítást.

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

Jelentős helyváltozások

A significant-change location mód Location Background Mode nélkül működik — a rendszer csak a koordináták jelentős változásakor ébreszti fel az alkalmazást (általában 500 m vagy több). Nem igényli a GPS folyamatos bekapcsolását, ami kíméli az akkumulátort. Alkalmas időjárás-alkalmazásokhoz, amelyek a felhasználó mozgásakor frissítik az adatokat.

Bluetooth mód (LE accessories)

Bluetooth LE Background Mode lehetővé teszi az alkalmazás számára, hogy háttérben kommunikáljon BLE-eszközökkel. Fitneszkarkötők, orvosi érzékelők, Smart Home eszközök és Beacon navigáció használja. A mód két altípusra oszlik: bluetooth-central (az alkalmazás csatlakozik az eszközökhöz) és bluetooth-peripheral (az alkalmazás eszközként viselkedik).

Munka Central módban

Az alkalmazás Central szerepben szkennelhet és csatlakozhat BLE-eszközökhöz a háttérben. Ehhez meg kell adni a bluetooth-central-t a Background Modes-ban, és meg kell hívni a CBCentralManager.scanForPeripherals metódust a CBCentralManagerScanOptionAllowDuplicatesKey opcióval. A háttérben a szkennelés csökkentett frekvenciával működik — a rendszer késleltetheti az észlelést az energiatakarékosság érdekében.

Munka Peripheral módban

Az alkalmazás Peripheral szerepben szolgáltatásokat hirdethet és válaszolhat más eszközök kéréseire. A bluetooth-peripheral mód lehetővé teszi az alkalmazás számára, hogy más BLE-eszközök számára látható maradjon, még a háttérben is. HealthKit-alkalmazásokban és IoT-megoldásokban használatos.

Beacon és Region Monitoring

Az iBeacon figyelés további engedélyek nélkül működik a háttérben — a rendszer maga követi a Beacon régióba való belépést és kilépést. De a Beacon tartalmának szkenneléséhez (proximity UUID, major, minor) Bluetooth-engedély és bluetooth-central Background Mode szükséges. Használja a CLLocationManager-t CLBeaconRegion-nal a figyeléshez.

VoIP és PushKit kommunikációs alkalmazásokhoz

VoIP Background Mode hangkommunikációs alkalmazásokhoz (Skype, Zoom, WhatsApp) készült. A mód lehetővé teszi az alkalmazás számára, hogy csatlakozva maradjon a szerverhez a bejövő hívások fogadásához. Az iOS 8-tól kezdve a VoIP-hez PushKit-et használnak — egy keretrendszert, amely feldolgozza a Push-értesítéseket a VoIP-szerverről az APNs részvétele nélkül.

PushKit bejövő hívásokhoz

A PushKit az egyetlen mechanizmus, amely garantálja a VoIP-értesítés kézbesítését az eszközre. A PushKit-értesítés fogadásakor a rendszer felébreszti az alkalmazást, még akkor is, ha az be volt fejezve. Az alkalmazásnak 30 másodpercen belül csatlakoznia kell a szerverhez, és meg kell jelenítenie egy helyi értesítést a bejövő hívásról.

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()
    }
}

A PushKit használatának szabályai

A PushKit nem használható szokásos értesítésekhez — csak VoIP-hez, watchOS-kommunikációhoz és fájlszolgáltatókhoz. Az Apple ellenőrzi ezt a felülvizsgálat során. Jogosulatlan használat esetén az alkalmazást elutasítják. Az iOS 13-tól kezdve a PushKit csak az értesítést kézbesíti — a CXProvider (CallKit) meghívása a hívási képernyő megjelenítéséhez kötelező.

Fetch és Processing módok

Background Fetch és Background Processing — módok a tartalom háttérben történő frissítéséhez és hosszú feladatok végrehajtásához. Fetch — rövid időszakos frissítések (30 másodpercig), Processing — hosszú feladatok (10 percig) feltételekkel (Wi-Fi, töltés). A Processing csak iOS 13+-tól érhető el.

Background Fetch — gyors frissítés

A Fetch mód lehetővé teszi a rendszer számára, hogy időszakosan felébressze az alkalmazást friss tartalom letöltéséhez. A rendszer elemzi a felhasználói viselkedést, és kiválasztja az optimális időpontot. Az alkalmazásnak 30 másodpercen belül meg kell hívnia a completion handlert. A Fetch alkalmas híralkalmazásokhoz, közösségi média hírfolyamokhoz és időjáráshoz.

Background Processing — hosszú feladatok

A BGProcessingTask olyan feladatokhoz készült, amelyeket a felhasználó részvétele nélkül lehet végrehajtani: gyorsítótár tisztítása, nagy adatbázis szinkronizálása, médiafájlok feldolgozása. A rendszer csak kedvező körülmények között indítja el a feladatot — az eszköz töltőn van, Wi-Fi-hez csatlakozik, nincs Low Power módban. Akár 10 percig elérhető.

Ütemezés és követelmények

A BGProcessingTask-hoz meg kell adni a requiresExternalPower és requiresNetworkConnectivity paramétereket. A rendszer határozatlan időre elhalaszthatja a végrehajtást, ha a feltételek nem teljesülnek. A BGAppRefreshTask-tól eltérően, amelyet legalább naponta egyszer végre kell hajtani, a Processing hetekig nem hajtódhat végre, ha az eszközt ritkán töltik.

App Store Review Guidelines a Background Modes-hoz

Az Apple szigorúan ellenőrzi a Background Modes használatát az alkalmazások felülvizsgálatakor. Fő szabály: minden bekapcsolt módot indokolnia kell az alkalmazás funkcionalitásának. Ha egy alkalmazás Location Mode-ot deklarál, de nem használ helymeghatározást, elutasítják a capability eltávolítására vonatkozó kéréssel.

Az elutasítás gyakori okai

A leggyakoribb jogsértések: Location Mode nyilvánvaló szükség nélkül (az alkalmazás hozzáférést kér a hirdetések megjelenítéséhez), Audio Mode hang lejátszása nélkül a háttérben, VoIP PushKit nélkül, BLE Mode Bluetooth-eszközök nélkül. Az Apple az alkalmazást még a frissítési szakaszban is elutasíthatja, ha a mód már nincs használatban.

Leírás a felülvizsgálatban

A felülvizsgálatra küldéskor adja meg a Notes-ban az egyes módok konkrét indoklását. Például: „A Location Background Mode a felhasználó útvonalának követésére szolgál a fitneszfunkcióban”. Magyarázat nélkül a felülvizsgáló elutasíthatja az alkalmazást. Bizalmas funkciók (VoIP) esetén az Apple tesztfiókot kérhet.

Ajánlások a módok minimalizálásához

Használja a minimálisan szükséges módkészletet. Ha az alkalmazásnak óránként egyszer kell adatokat letöltenie a háttérben — ne kapcsolja be a Location Mode-ot, használja a Fetch-t vagy a BGAppRefreshTask-ot. A felesleges módok nemcsak elutasításhoz vezetnek, hanem negatív benyomást is keltenek: a felhasználó a beállításokban látja, hogy az alkalmazás háttérben használja a helymeghatározást.

Gyakran Ismételt Kérdések

Hány Background Mode kapcsolható be egy alkalmazásban?

Nincs korlátozás a számra vonatkozóan, de minden módot indokolnia kell az alkalmazás funkcionalitásának. Az összes mód szükségtelen bekapcsolása garantált ok az elutasításra a felülvizsgálat során. Gyakorlati korlát 2–3 mód alkalmazásonként, különben a felhasználó számos engedélykérést fog látni.

Hogyan ellenőrizhető, hogy a Background Mode aktív-e?

Használja a UIApplication.shared.applicationState tulajdonságot — az alkalmazás ellenőrizheti, hogy háttérben van-e (state == .background). Nyomon követheti a UIApplication.didEnterBackgroundNotification és willEnterForegroundNotification értesítéseket a viselkedés megváltoztatásához.

Mi a különbség az Audio és az AirPlay Background Modes között?

Audio — hang lejátszása hangszórón vagy fejhallgatón keresztül. AirPlay — hang és video továbbítása Apple TV-re és más AirPlay-eszközökre. A gyakorlatban az Audio Mode mindkét forgatókönyvet lefedi, mivel az AirPlay az audió munkamenetet használja. Külön AirPlay mód nem szükséges iOS 7+-tól.

Használható a Background Location csak nyitott alkalmazás mellett?

Igen, ehhez használja a requestWhenInUseAuthorization() metódust a requestAlwaysAuthorization() helyett. Az alkalmazás csak előtérben kap helyet. Ha rövid távú háttérkövetésre van szükség — hívja a startUpdatingLocation() metódust, és állítsa le a willResignActive-ben.

Hogyan befolyásolják a Background Modes az akkumulátort?

Minden mód növeli az energiafogyasztást. Location Mode — a legköltségesebb, 30–50%-kal csökkentheti a működési időt folyamatos követés esetén. Audio Mode — mérsékelt (15–20%). Fetch és Processing — minimális (2–5%). BLE Mode — alacsony (5–10%) a Bluetooth LE energiahatékonyságának köszönhetően.

Összefoglaló

  • Background Modes — deklarálható iOS capability-k, amelyek lehetővé teszik az alkalmazás számára a legitim kódvégrehajtást a háttérben.
  • Audio Mode — a legelterjedtebb, zene, podcast és video lejátszásához AVAudioSession-en keresztül .playback kategóriával.
  • Location Mode — navigációhoz és fitneszhez, a legenergiaigényesebb, requestAlwaysAuthorization és allowsBackgroundLocationUpdates szükséges.
  • BLE Mode — Bluetooth-eszközökkel való munka a háttérben CBCentralManager-en keresztül háttérszkenneléssel.
  • VoIP és PushKit — kommunikációs alkalmazásokhoz, garantálja a bejövő hívások kézbesítését PKPushRegistry-n keresztül.
  • Fetch és Processing — rövid és hosszú háttérfeladatok különböző végrehajtási feltételekkel és időkorlátokkal.
  • Az Apple szigorúan ellenőrzi az egyes módok indokoltságát — a jogosulatlan használat az alkalmazás App Store-ból való elutasításához vezet.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is