iOS Background Audio Constraints

iOS imposes more restrictive controls on background microphone access than Android, making always-on voice detection for a distress app a significant technical and App Store compliance challenge on the iPhone.

Since iOS 13, Apple requires approved entitlements for apps to maintain audio sessions in the background. The primary mechanism is declaring UIBackgroundModes: audio in the app’s Info.plist, combined with the appropriate AVAudioSession category (.record or .playAndRecord). However, Apple’s App Store review process scrutinises this entitlement heavily when the stated use case is voice recognition rather than audio playback or VoIP communication. Apps using background audio for wake word detection (as opposed to streaming music, podcasts, or phone calls) have been reported by developers to receive compliance notices or rejections.

The strongest technical path for a distress app seeking persistent background audio is to qualify for the VoIP push notification entitlement. This was specifically designed for apps maintaining live communication channels and is recognised by Apple reviewers as a legitimate background audio use case. An emergency safety app with two-way communication to a control room could argue VoIP classification, but this requires case-by-case entitlement approval and a compelling safety justification.

A developer workaround noted in the iOS community is the “empty microphone activation” technique: activate the AVAudioSession immediately when the app moves to background with a no-op callback, then replace it with the real wake word listener when detection is needed. This keeps the session alive without continuous heavy processing. However, this is a grey-area workaround and may not survive App Store review.

The privacy indicator (green dot in the iOS status bar) is visible to users whenever the microphone is active, providing transparency but also potentially alarming users who do not expect a safety app to always be listening.

Connections

Ontology iOS Background Audio Constraints [relates] Android Background Voice Recognition iOS Background Audio Constraints [limited_by] Picovoice Porcupine iOS Background Audio Constraints [relates] Valor

Sources