AVAudioInterruptionNotification doesn't fire on incoming phone calls

Originator:subdigital
Number:rdar://12386064 Date Originated:9/27/2012
Status:Open Resolved:
Product:iPhone SDK Product Version:6.0
Classification:Serious Bug Reproducible:Always
 
Summary:

We used the iOS 5 AVAudioSessionDelegate to handle interruptions like incoming phone calls and pause audio playback in our app.  We handle the endInterruption as well to resume playback once the interruption has ended.

Now that that is deprecated and no longer functions on iOS 6, we're also now using the AVAudioInterruptionNotification.

This doesn't fire on an incoming phone call.  We only receive it after the phone call has ended.

Steps to Reproduce:

set up an observer for AVAudioInterruptionNotification, set a breakpoint in the handler method for this.
play some audio using AVPlayer
call the phone from another device
note that the call comes through, the audio stops, but no breakpoint is ever hit
note that the once the call is ended you hit the breakpoint for the interruption ended

Expected Results:

breakpoint is hit before *and* after the call

Actual Results:

breakpoint is only hit after the call

Regression:

Notes:


This is causing weird behavior in other apps as well, such as Instacast.  However their bug is much more annoying because their audio starts playing as soon as the interruption ends.  This happens constantly when using Siri.  When the siri conversation is over, their audio starts playing podcasts again.

In our app we are playing it a bit safer and we don't resume unless playback was paused from an interruption.  But since we don't receive this event, we can't provide this functionality.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!