I have used this method in the past to detect if the silent switch is enabled:
- (BOOL)silenced {
#if TARGET_IPHONE_SIMULATOR
// return NO in simulat
As mentioned in the iOS Developer Library, the property kAudioSessionProperty_AudioRoute is deprecated. Instead, Use the kAudioSessionProperty_AudioRouteDescription
https://developer.apple.com/library/ios/#documentation/AudioToolbox/Reference/AudioSessionServicesReference/Reference/reference.html
This question has been answered here: Detecting the iPhone's Ring / Silent / Mute switch using AVAudioPlayer not working?
We won't be able to detect the silent switch state anymore since iOS 5...
The answer from Apple is there on the accepted answer : Detecting the iPhone's Ring / Silent / Mute switch using AVAudioPlayer not working?