Play sound on iOS 9 in silent mode

In iOS 9 (Xcode 7, Swift 2.0) I’m trying to play a sound in silent mode using the following code:

try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)
try! AVAudioSession.sharedInstance().setActive(true)
AudioServicesPlayAlertSound(1005)

According to other answers and Apple’s documentation I thought this should work but it doesn’t play a sound on iOS 9 when in silent mode. It does play it when not in silent mode. From Apple’s doc:

  • Potential leak of an object stored into
  • Get all frames of Video IOS 6
  • iOS Multi peer connectivity showing same device name twice
  • How to present UIAlertView from appDelegate
  • Facebook iOS SDK - FWWebDialogs not rendering message
  • Image sizes and mobile devices and the dpi
  • AVAudioSessionCategoryPlayback — Playback only. Plays audio even with the screen locked and with the Ring/Silent switch set to silent. Use this category for an app whose audio playback is of primary importance.

    Am I missing something here or is there a other/new way to get this to work?

    2 Solutions Collect From Internet About “Play sound on iOS 9 in silent mode”

    This is my code:

    do {
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: AVAudioSessionCategoryOptions.MixWithOthers)
        }
    catch {
            // report for an error
        }
    
    AudioPlayer.play()
    

    It works on my iPhone.

    Good luck!

    For Swift 3.2:

    do {
            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: AVAudioSessionCategoryOptions.duckOthers)
        }
        catch {
            // report for an error
        }