Background Modes in iOS — wat is het, welke modi zijn er en configuratie

Auteur: IT Sectr Gepubliceerd: 2026-03-27 Leestijd: 9 min

Background Modes — is een set declareerbare iOS-mogelijkheden waarmee de app code kan blijven uitvoeren na het overschakelen naar de achtergrond. Elke modus komt overeen met een specifiek type taak: audio, geolocatie, VoIP, Bluetooth, fetch en processing. Volgens Apple, 2026 is onjuist gebruik van Background Modes een van de veelvoorkomende oorzaken van afwijzing van apps bij beoordeling in de App Store.

Belangrijkste punten

  • Background Modes — set iOS-capabilities voor legitieme achtergrondcode-uitvoering.
  • Audiomodus — afspelen van muziek, podcasts, audioboeken op de achtergrond met bediening via Control Center.
  • Geolocatie — locatie volgen op de achtergrond voor navigatie en fitnesstrackers.
  • Bluetooth — werken met BLE-apparaten op de achtergrond: fitnessarmbanden, sensoren, randapparatuur.
  • Apple-controle — onrechtmatig gebruik van modi leidt tot afwijzing van de app uit de App Store.

Wat zijn Background Modes in iOS?

Background Modes — zijn capabilities van een Xcode-project die de intentie van de app verklaren om bepaalde soorten achtergrondbewerkingen uit te voeren. In tegenstelling tot Android, waar de app elke Service op de achtergrond kan starten, vereist iOS expliciete vermelding van de modus in Info.plist. Elke modus heeft strikte gebruiksregels en wordt door Apple gecontroleerd tijdens de beoordeling.

Hoe Background Modes werken

Wanneer de app naar de achtergrond gaat, schorst iOS deze na 3–5 seconden. Als de app een Background Mode declareert en actief de bijbehorende API gebruikt (bijv. AVAudioSession voor audio), brengt het systeem deze naar een speciale uitvoeringsmodus. De app blijft in het werkgeheugen en kan code uitvoeren die beperkt is door het type modus.

Volledige lijst met beschikbare modi

iOS ondersteunt de volgende Background Modes: Audio, Location, VoIP, Bluetooth LE, Background Fetch, Background Processing, External Accessory Communication, Push to Talk (PTT) en HealthKit. Elke modus vereist rechtvaardiging in de app-beschrijving.

ModusInfo.plist-sleutelDoeliOS-versie
AudioaudioAchtergrondaudio, AirPlay4.0+
LocationlocationLocatie volgen4.0+
VoIPvoipVoIP-pushmeldingen4.0+
BLEbluetooth-centralWerken met BLE-apparaten7.0+
FetchfetchPeriodiek gegevens ophalen7.0+
ProcessingprocessingLange achtergrondtaken13.0+
Push to Talkpush-to-talkSpraak-push-to-talk16.0+

Audiomodus (Audio, AirPlay en Picture in Picture)

Audio Background Mode — de meest voorkomende modus, gebruikt door muziekspelers, podcast-apps en audiodiensten. De app kan geluid blijven afspelen, worden bediend via Control Center en worden weergegeven op het Lock Screen. Voor activering volstaat het configureren van AVAudioSession met de categorie .playback.

Configuratie van de audiosessie

Voor audio op de achtergrond moet u AVAudioSession configureren en activeren. De categorie .playback informeert het systeem dat de app geluid afspeelt en actief moet blijven op de achtergrond. Zonder deze configuratie stopt het geluid binnen 5–10 seconden na het minimaliseren van de app.

swift
import AVFoundation

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

Bediening van afspelen via Control Center

Voor integratie met Control Center en Lock Screen moet u MPRemoteCommandCenter configureren. Dit verwerkt de opdrachten Play, Pause, Next en Previous Track. Ook moet u MPNowPlayingInfoProperty bijwerken voor het weergeven van metadata: nummertitel, artiest, hoesje en afspeelvoortgang.

Picture in Picture voor video

Vanaf iOS 14 ondersteunt Background Mode audio ook Picture in Picture voor video. De app kan video blijven tonen in een zwevend venster bij minimaliseren. Gebruik AVPictureInPictureController met AVPlayerLayer voor activering. De modus werkt alleen als de app een audiotrack afspeelt.

Geolocatie (Location updates)

Location Background Mode stelt de app in staat om locatie-updates op de achtergrond te ontvangen. Wordt gebruikt in navigators, fitnesstrackers, bezorgapps en sociale netwerken. Zonder deze modus ontvangt de app slechts één keer een locatie bij het overschakelen naar de achtergrord, waarna updates stoppen.

Soorten locatie tracking

CLLocationManager ondersteunt verschillende trackingstrategieën: significante veranderingen (significant-change location), standaard tracking (standard location) en regiomonitoring (region monitoring). Gebruik voor achtergrondwerk met maximale precisie allowsBackgroundLocationUpdates = true en pausesLocationUpdatesAutomatically = false.

Energie-efficiëntie en precisie

Continue locatietracking op de achtergrond is een van de meest energie-intensieve scenario's. iOS past automatisch de updatefrequentie aan op basis van bewegingssnelheid: bij wandelen elke 10–30 seconden, bij autorijden elke 1–5 seconden. Gebruik voor navigatie desiredAccuracy = kCLLocationAccuracyBestForNavigation.

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

Significante locatieveranderingen

De modus significant-change location werkt zonder Location Background Mode — het systeem wekt de app alleen bij significante coördinaatverandering (meestal 500 m of meer). Vereist geen continue GPS-inschakeling, wat batterij bespaart. Geschikt voor weer-apps die gegevens bijwerken wanneer de gebruiker beweegt.

Bluetooth-modus (LE accessories)

Bluetooth LE Background Mode stelt de app in staat om op de achtergrond met BLE-apparaten te communiceren. Wordt gebruikt door fitnessarmbanden, medische sensoren, Smart Home-apparaten en Beacon-navigatie. De modus is onderverdeeld in twee subtypes: bluetooth-central (app verbindt met apparaten) en bluetooth-peripheral (app fungeert als apparaat).

Werken in Central-modus

De app in de rol van Central kan BLE-apparaten scannen en ermee verbinden op de achtergrond. Hiervoor moet bluetooth-central worden opgegeven in Background Modes en CBCentralManager.scanForPeripherals worden aangeroepen met de optie CBCentralManagerScanOptionAllowDuplicatesKey. Op de achtergrord werkt scannen met verminderde frequentie — het systeem kan detectie vertragen om energie te besparen.

Werken in Peripheral-modus

De app in de rol van Peripheral kan diensten adverteren en reageren op verzoeken van andere apparaten. De modus bluetooth-peripheral stelt de app in staat om zichtbaar te blijven voor andere BLE-apparaten, zelfs op de achtergrond. Wordt gebruikt in HealthKit-apps en IoT-oplossingen.

Beacon en Region Monitoring

iBeacon-monitoring werkt op de achtergrond zonder extra machtigingen — het systeem registreert zelf het betreden en verlaten van een Beacon-regio. Maar voor het scannen van Beacon-inhoud (proximity UUID, major, minor) is Bluetooth-toestemming en bluetooth-central Background Mode vereist. Gebruik CLLocationManager met CLBeaconRegion voor monitoring.

VoIP en PushKit voor communicatie-apps

VoIP Background Mode is bedoeld voor spraakcommunicatie-apps (Skype, Zoom, WhatsApp). De modus stelt de app in staat verbonden te blijven met de server voor het ontvangen van inkomende oproepen. Vanaf iOS 8 wordt voor VoIP PushKit gebruikt — een framework dat Push-meldingen van de VoIP-server verwerkt zonder tussenkomst van APNs.

PushKit voor inkomende oproepen

PushKit is het enige mechanisme dat de levering van VoIP-meldingen aan het apparaat garandeert. Bij ontvangst van een PushKit-melding wekt het systeem de app, zelfs als deze is afgesloten. De app moet binnen 30 seconden verbinding maken met de server en een lokale melding over de inkomende oproep weergeven.

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

Regels voor PushKit-gebruik

PushKit mag niet worden gebruikt voor gewone meldingen — alleen voor VoIP, watchOS-communicatie en bestandsproviders. Apple controleert dit bij beoordeling. Bij onrechtmatig gebruik wordt de app afgewezen. Vanaf iOS 13 levert PushKit alleen de melding — het aanroepen van CXProvider (CallKit) voor het weergeven van het oproepscherm is verplicht.

Fetch- en Processing-modi

Background Fetch en Background Processing — modi voor het updaten van inhoud op de achtergrond en het uitvoeren van lange taken. Fetch — korte periodieke updates (tot 30 s), Processing — lange taken (tot 10 min) met voorwaarden (Wi-Fi, opladen). Processing is alleen beschikbaar vanaf iOS 13+.

Background Fetch — snel updaten

De modus Fetch stelt het systeem in staat de app periodiek te wekken voor het ophalen van nieuwe inhoud. Het systeem analyseert gebruikersgedrag en kiest het optimale moment. De app moet binnen 30 seconden de completion handler aanroepen. Fetch is geschikt voor nieuws-apps, sociale media-feeds en weer.

Background Processing — lange taken

BGProcessingTask is bedoeld voor taken die zonder gebruikersinbreuk kunnen worden uitgevoerd: cache opschonen, synchronisatie van een grote database, verwerking van mediabestanden. Het systeem start de taak alleen onder gunstige omstandigheden — apparaat aan de lader, verbonden met Wi-Fi, niet in Low Power-modus. Beschikbaar tot 10 minuten.

Planning en vereisten

Voor BGProcessingTask moet u requiresExternalPower en requiresNetworkConnectivity opgeven. Het systeem kan de uitvoering voor onbepaalde tijd uitstellen als niet aan de voorwaarden wordt voldaan. In tegenstelling tot BGAppRefreshTask, die minstens eenmaal per dag moet worden uitgevoerd, kan Processing weken niet worden uitgevoerd als het apparaat zelden wordt opgeladen.

App Store Review Guidelines voor Background Modes

Apple controleert streng het gebruik van Background Modes bij de beoordeling van apps. Hoofdregel: elke ingeschakelde modus moet worden gerechtvaardigd door de functionaliteit van de app. Als een app Location Mode declareert maar geen geolocatie gebruikt, wordt deze afgewezen met het verzoek de capability te verwijderen.

Veelvoorkomende afwijzingsredenen

De meest voorkomende overtredingen: Location Mode zonder duidelijke noodzaak (app vraagt „Always”-toegang voor het tonen van advertenties), Audio Mode zonder geluidsweergave op de achtergrond, VoIP zonder PushKit, BLE Mode zonder Bluetooth-apparaten. Apple kan de app zelfs in de updatefase afwijzen als de modus niet meer wordt gebruikt.

Beschrijving in de beoordeling

Geef bij het indienen voor beoordeling in Notes een concrete rechtvaardiging voor elke modus. Bijvoorbeeld: „Location Background Mode wordt gebruikt voor het volgen van de gebruikersroute in de fitnessfunctie”. Zonder uitleg kan de beoordelaar de app afwijzen. Voor vertrouwelijke functies (VoIP) kan Apple om een testaccount vragen.

Aanbevelingen voor minimalisatie van modi

Gebruik de minimaal benodigde set modi. Als de app eenmaal per uur gegevens op de achtergrond moet laden — schakel Location Mode niet in, gebruik Fetch of BGAppRefreshTask. Overbodige modi leiden niet alleen tot afwijzing, maar creëren ook een negatieve indruk: de gebruiker ziet in instellingen dat de app geolocatie op de achtergrond gebruikt.

Veelgestelde vragen

Hoeveel Background Modes kunnen in een app worden ingeschakeld?

Er is geen limiet aan het aantal, maar elke modus moet worden gerechtvaardigd door de functionaliteit van de app. Het inschakelen van alle modi zonder noodzaak is een gegarandeerde reden voor afwijzing bij beoordeling. Praktische limiet is 2–3 modi per app, anders ziet de gebruiker talloze machtigingsverzoeken.

Hoe controleer ik of de Background Mode actief is?

Gebruik UIApplication.shared.applicationState — de app kan controleren of deze op de achtergrond staat (state == .background). U kunt ook meldingen UIApplication.didEnterBackgroundNotification en willEnterForegroundNotification volgen om het gedrag aan te passen.

Wat is het verschil tussen Audio en AirPlay Background Modes?

Audio — geluidsweergave via luidspreker of koptelefoon. AirPlay — audio- en video-overdracht naar Apple TV en andere AirPlay-apparaten. In de praktijk dekt Audio Mode beide scenario's omdat AirPlay de audiosessie gebruikt. Een aparte AirPlay-modus is niet nodig sinds iOS 7+.

Kan Background Location alleen worden gebruikt wanneer de app open is?

Ja, gebruik hiervoor requestWhenInUseAuthorization() in plaats van requestAlwaysAuthorization(). De app ontvangt alleen locatie op de voorgrond. Als kortstondige tracking op de achtergrond nodig is — roep startUpdatingLocation() aan en stop in willResignActive.

Hoe beïnvloeden Background Modes de batterij?

Elke modus verhoogt het energieverbruik. Location Mode — het duurste, kan de gebruiksduur met 30–50% verkorten bij continue tracking. Audio Mode — gemiddeld (15–20%). Fetch en Processing — minimaal (2–5%). BLE Mode — laag (5–10%) dankzij de energie-efficiëntie van Bluetooth LE.

Samenvatting

  • Background Modes — declareerbare iOS-capabilities die de app in staat stellen legitiem code op de achtergrond uit te voeren.
  • Audio Mode — de meest voorkomende, voor het afspelen van muziek, podcasts en video via AVAudioSession met de categorie .playback.
  • Location Mode — voor navigatie en fitness, het meest energie-intensief, vereist requestAlwaysAuthorization en allowsBackgroundLocationUpdates.
  • BLE Mode — werken met Bluetooth-apparaten op de achtergrond via CBCentralManager met achtergrondscanning.
  • VoIP en PushKit — voor communicatie-apps, garandeert levering van inkomende oproepen via PKPushRegistry.
  • Fetch en Processing — korte en lange achtergrondtaken met verschillende uitvoeringsvoorwaarden en tijdslimieten.
  • Apple controleert strikt de rechtvaardiging van elke modus — onrechtmatig gebruik leidt tot afwijzing van de app uit de App Store.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook