Hello,
We're developing a music streaming application. We ran into a problem where if the audio stream is interrupted while the app is in the background, the operating system will aggressively terminate the application within seconds. This means that if the user is listening to the audio stream, and the network connection gets interrupted, the app will terminate, unless we've managed to reestablish the network connection within <5 seconds. This is obviously a terrible user experience.
To get around this problem we've opted to play a silent audio file in the background whenever the audio stream is interrupted. This extends the background running time of the app, which gives us extra time to reestablish the network connection, and resume audio playback.
My question: does this run afoul of the App Store Guidelines?
The relevant section of the App Store Guidelines reads (Section 2.5.4):
Multitasking apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc. If your app uses location background mode, include a reminder that doing so may dramatically decrease battery life. Now I'd imagine this usage would be fine. This behaviour is not deceptive in any way (users would expect the app to remain active in order to recover from a network interruption), and it absolutely is being used to enable audio playback. However, Apple may very well say that this does not quality as legitimate audio playback, since the silent audio is not actually audible to the user.
I would appreciate any opinions on this, or alternative solutions.
Cheers!