Background Modes en iOS — qué es, qué tipos de modos existen y configuración

Autor: IT Sectr Publicado: 2026-03-27 Tiempo de lectura: 9 min

Background Modes son un conjunto de capacidades declarables de iOS que permiten a una aplicación continuar ejecutando código después de pasar al segundo plano. Cada modo corresponde a un tipo específico de tarea: audio, geolocalización, VoIP, Bluetooth, fetch y processing. Según Apple, 2026, el uso incorrecto de Background Modes es una de las causas frecuentes de rechazo de aplicaciones durante la revisión en App Store.

Puntos clave

  • Background Modes — conjunto de capacidades de iOS para la ejecución legítima de código en segundo plano.
  • Modo Audio — reproducción de música, podcasts, audiolibros en segundo plano con control a través del Centro de Control.
  • Geolocalización — seguimiento de ubicación en segundo plano para navegación y rastreadores de fitness.
  • Bluetooth — trabajo con dispositivos BLE en segundo plano: pulseras de fitness, sensores, periféricos.
  • Revisión de Apple — el uso indebido de modos conduce al rechazo de la aplicación en App Store.

¿Qué son los Background Modes en iOS?

Background Modes son capacidades del proyecto Xcode que declaran la intención de la aplicación de realizar tipos específicos de operaciones en segundo plano. A diferencia de Android, donde una aplicación puede iniciar cualquier Service en segundo plano, iOS requiere una declaración explícita del modo en Info.plist. Cada modo tiene reglas de uso estrictas y es verificado por Apple durante la revisión.

Cómo funcionan los Background Modes

Cuando una aplicación pasa a segundo plano, iOS la suspende en 3–5 segundos. Si la aplicación declara un Background Mode y utiliza activamente la API correspondiente (por ejemplo, AVAudioSession para audio), el sistema la coloca en un modo de ejecución especial. La aplicación permanece en memoria y puede ejecutar código limitado por el tipo de modo.

Lista completa de modos disponibles

iOS admite los siguientes Background Modes: Audio, Location, VoIP, Bluetooth LE (accesorios BLE), Background Fetch (actualizaciones periódicas), Background Processing (tareas prolongadas), External Accessory Communication, Push to Talk (PTT) y HealthKit. Cada modo requiere justificación en la descripción de la aplicación.

ModoClave Info.plistPropósitoVersión iOS
AudioaudioAudio en segundo plano, AirPlay4.0+
LocationlocationSeguimiento de ubicación4.0+
VoIPvoipNotificaciones push VoIP4.0+
BLEbluetooth-centralTrabajo con dispositivos BLE7.0+
FetchfetchDescarga periódica de datos7.0+
ProcessingprocessingTareas prolongadas en segundo plano13.0+
Push to Talkpush-to-talkVoz push-to-talk16.0+

Modo Audio (Audio, AirPlay y Picture in Picture)

Audio Background Mode es el modo más común, utilizado por reproductores de música, aplicaciones de podcasts y servicios de audio. La aplicación puede continuar la reproducción de audio, controlarse a través del Centro de Control y aparecer en la pantalla de bloqueo. Para activarlo, basta con configurar AVAudioSession con la categoría .playback.

Configuración de la sesión de audio

Para que el audio funcione en segundo plano, es necesario configurar AVAudioSession y activarla. La categoría .playback indica al sistema que la aplicación está reproduciendo audio y debe permanecer activa en segundo plano. Sin esta configuración, el audio se detendrá 5–10 segundos después de minimizar la aplicación.

swift
import AVFoundation

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

Control de la reproducción desde el Centro de Control

Para integrarse con Centro de Control y la pantalla de bloqueo, es necesario configurar MPRemoteCommandCenter. Maneja los comandos Reproducir, Pausa, Siguiente y Anterior. También es necesario actualizar MPNowPlayingInfoProperty para mostrar metadatos: nombre de la pista, artista, carátula y progreso de reproducción.

Picture in Picture para vídeo

A partir de iOS 14, el Audio Background Mode también admite Picture in Picture para vídeo. La aplicación puede seguir mostrando vídeo en una ventana flotante al minimizarse. Para activarlo, use AVPictureInPictureController con AVPlayerLayer. Este modo solo funciona si la aplicación reproduce una pista de audio.

Geolocalización (Actualizaciones de ubicación)

Location Background Mode permite a la aplicación recibir actualizaciones de ubicación en segundo plano. Se utiliza en navegadores, rastreadores de fitness, aplicaciones de entrega y redes sociales. Sin este modo, la aplicación recibe la ubicación solo una vez al pasar a segundo plano, tras lo cual las actualizaciones se detienen.

Tipos de seguimiento de ubicación

CLLocationManager admite varias estrategias de seguimiento: cambios significativos de ubicación, seguimiento estándar y monitoreo de regiones. Para trabajar en segundo plano con máxima precisión, use allowsBackgroundLocationUpdates = true y pausesLocationUpdatesAutomatically = false.

Eficiencia energética y precisión

El seguimiento continuo de ubicación en segundo plano es uno de los escenarios que más energía consume. iOS ajusta automáticamente la frecuencia de actualizaciones según la velocidad de movimiento: al caminar, actualizaciones cada 10–30 segundos; al conducir, cada 1–5 segundos. Para navegación, use desiredAccuracy = kCLLocationAccuracyBestForNavigation.

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

Cambios significativos de ubicación

El modo significant-change location funciona sin Location Background Mode — el sistema activa la aplicación solo cuando las coordenadas cambian significativamente (generalmente 500 m o más). No requiere GPS constante, ahorrando batería. Adecuado para aplicaciones meteorológicas que actualizan datos cuando el usuario se desplaza.

Modo Bluetooth (Accesorios LE)

Bluetooth LE Background Mode permite a la aplicación interactuar con dispositivos BLE en segundo plano. Se utiliza en pulseras de fitness, sensores médicos, dispositivos Smart Home y navegación por beacons. El modo se divide en dos subtipos: bluetooth-central (la aplicación se conecta a dispositivos) y bluetooth-peripheral (la aplicación actúa como dispositivo).

Trabajo en modo Central

Una aplicación que actúa como Central puede escanear y conectarse a dispositivos BLE en segundo plano. Para ello, especifique bluetooth-central en Background Modes y llame a CBCentralManager.scanForPeripherals con la opción CBCentralManagerScanOptionAllowDuplicatesKey. En segundo plano, el escaneo funciona con frecuencia reducida — el sistema puede retrasar la detección para ahorrar energía.

Trabajo en modo Peripheral

Una aplicación que actúa como Peripheral puede anunciar servicios y responder a solicitudes de otros dispositivos. El modo bluetooth-peripheral permite que la aplicación permanezca visible para otros dispositivos BLE incluso en segundo plano. Se utiliza en aplicaciones HealthKit y soluciones IoT.

Monitoreo de Beacons y Regiones

El monitoreo de iBeacon funciona en segundo plano sin permisos adicionales — el propio sistema rastrea la entrada y salida de regiones Beacon. Sin embargo, para escanear el contenido del Beacon (UUID de proximidad, major, minor) se necesita permiso de Bluetooth y bluetooth-central Background Mode. Use CLLocationManager con CLBeaconRegion para el monitoreo.

VoIP y PushKit para aplicaciones de comunicación

VoIP Background Mode está diseñado para aplicaciones de comunicación por voz (Skype, Zoom, WhatsApp). Este modo permite que la aplicación permanezca conectada al servidor para recibir llamadas entrantes. A partir de iOS 8, se utiliza PushKit — un framework que maneja notificaciones push del servidor VoIP sin involucrar a APNs.

PushKit para llamadas entrantes

PushKit es el único mecanismo que garantiza la entrega de notificaciones VoIP al dispositivo. Al recibir una notificación PushKit, el sistema activa la aplicación, incluso si fue terminada. La aplicación debe establecer una conexión con el servidor en 30 segundos y mostrar una notificación local para la llamada entrante.

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

Reglas de uso de PushKit

PushKit no puede utilizarse para notificaciones ordinarias — solo para VoIP, comunicaciones de watchOS y proveedores de archivos. Apple verifica esto durante la revisión. El uso indebido conduce al rechazo de la aplicación. A partir de iOS 13, PushKit solo entrega la notificación — es obligatorio llamar a CXProvider (CallKit) para mostrar la pantalla de llamada.

Modos Fetch y Processing

Background Fetch y Background Processing son modos para actualizaciones de contenido en segundo plano y tareas prolongadas. Fetch es para actualizaciones periódicas cortas (hasta 30 s), Processing es para tareas largas (hasta 10 min) con condiciones (Wi-Fi, carga). Processing solo está disponible en iOS 13+.

Background Fetch — Actualizaciones rápidas

El modo Fetch permite al sistema activar periódicamente la aplicación para descargar contenido nuevo. El sistema analiza el comportamiento del usuario y selecciona el momento óptimo. La aplicación debe llamar al completion handler en 30 segundos. Fetch es adecuado para aplicaciones de noticias, feeds de redes sociales y clima.

Background Processing — Tareas prolongadas

BGProcessingTask está diseñada para tareas que pueden ejecutarse sin intervención del usuario: limpieza de caché, sincronización de grandes bases de datos, procesamiento de archivos multimedia. El sistema inicia la tarea solo en condiciones favorables — dispositivo cargando, conectado a Wi-Fi, no en modo de bajo consumo. Disponible hasta 10 minutos.

Planificación y requisitos

Para BGProcessingTask, debe especificar requiresExternalPower y requiresNetworkConnectivity. El sistema puede aplazar la ejecución indefinidamente si no se cumplen las condiciones. A diferencia de BGAppRefreshTask, que debe ejecutarse al menos una vez al día, Processing puede no ejecutarse durante semanas si el dispositivo rara vez se carga.

Directrices de revisión de App Store para Background Modes

Apple revisa estrictamente el uso de Background Modes durante la revisión de aplicaciones. La regla principal: cada modo habilitado debe estar justificado por la funcionalidad de la aplicación. Si una aplicación declara Location Mode pero no usa geolocalización, será rechazada con el requisito de eliminar la capacidad.

Causas comunes de rechazo

Las infracciones más comunes: Location Mode sin necesidad explícita (la aplicación solicita acceso “Siempre” para mostrar anuncios), Audio Mode sin reproducción de audio en segundo plano, VoIP sin PushKit, BLE Mode sin dispositivos Bluetooth. Apple puede rechazar la aplicación incluso en la etapa de actualización si el modo ya no se utiliza.

Descripción en las notas de revisión

Al enviar para revisión, proporcione una justificación específica para cada modo en las Notas. Por ejemplo, “Location Background Mode se utiliza para rastrear la ruta del usuario en la función de fitness”. Sin explicación, el revisor puede rechazar la aplicación. Para funciones confidenciales (VoIP), Apple puede solicitar una cuenta de prueba.

Recomendaciones para minimizar modos

Utilice el conjunto mínimo necesario de modos. Si su aplicación necesita descargar datos en segundo plano una vez por hora — no habilite Location Mode, use Fetch o BGAppRefreshTask. Los modos adicionales no solo conducen al rechazo, sino que también crean una impresión negativa: el usuario ve en Configuración que la aplicación usa geolocalización en segundo plano.

Preguntas frecuentes

¿Cuántos Background Modes se pueden activar en una sola aplicación?

No hay límite en la cantidad, pero cada modo debe estar justificado por la funcionalidad de la aplicación. Activar todos los modos sin necesidad es una razón garantizada de rechazo durante la revisión. Un límite práctico es 2–3 modos por aplicación, de lo contrario el usuario verá muchas solicitudes de permisos.

¿Cómo verificar si un Background Mode está activo?

Use UIApplication.shared.applicationState — la aplicación puede verificar si está en segundo plano (state == .background). También puede observar las notificaciones UIApplication.didEnterBackgroundNotification y willEnterForegroundNotification para cambiar el comportamiento.

¿Cuál es la diferencia entre los modos Audio y AirPlay Background?

Audio — reproducción de sonido a través del altavoz o auriculares. AirPlay — transmisión de audio y vídeo a Apple TV y otros dispositivos AirPlay. En la práctica, Audio Mode cubre ambos escenarios ya que AirPlay utiliza la sesión de audio. No se requiere un modo AirPlay separado desde iOS 7+.

¿Puedo usar la ubicación en segundo plano solo cuando la aplicación está abierta?

Sí, para esto use requestWhenInUseAuthorization() en lugar de requestAlwaysAuthorization(). La aplicación recibirá ubicación solo en primer plano. Si necesita seguimiento breve en segundo plano, llame a startUpdatingLocation() y deténgalo en willResignActive.

¿Cómo afectan los Background Modes a la batería?

Cada modo aumenta el consumo de energía. Location Mode es el más exigente, puede reducir la duración de la batería en un 30–50% con seguimiento continuo. Audio Mode es moderado (15–20%). Fetch y Processing son mínimos (2–5%). BLE Mode es bajo (5–10%) gracias a la eficiencia energética de Bluetooth LE.

Resumen

  • Background Modes — capacidades declarables de iOS que permiten a una aplicación ejecutar código legítimamente en segundo plano.
  • Audio Mode — el más común, para reproducir música, podcasts y vídeo mediante AVAudioSession con la categoría .playback.
  • Location Mode — para navegación y fitness, el que más energía consume, requiere requestAlwaysAuthorization y allowsBackgroundLocationUpdates.
  • BLE Mode — trabajo con dispositivos Bluetooth en segundo plano mediante CBCentralManager con escaneo en segundo plano.
  • VoIP y PushKit — para aplicaciones de comunicación, garantiza la entrega de llamadas entrantes a través de PKPushRegistry.
  • Fetch y Processing — tareas cortas y largas en segundo plano con diferentes condiciones de ejecución y límites de tiempo.
  • Apple verifica estrictamente la justificación de cada modo — el uso indebido conduce al rechazo de la aplicación en App Store.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también