Perhaps you can try and make sure that you are using the application in iDevice, because the simulator does not have a silent or ringer mode :)
New changes
-(BOOL)silenced { #if TARGET_IPHONE_SIMULATOR // return NO in simulator. Code causes crashes for some reason. return NO; #endif CFStringRef state; UInt32 propertySize = sizeof(CFStringRef); AudioSessionInitialize(NULL, NULL, NULL, NULL); AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state); if(CFStringGetLength(state) > 0) return NO; else return YES; }
and you can call this method as follows
if ([self silenced]) { NSLog(@"silenced"); } else { NSLog(@"not silenced"); }
Hope this helps you!
D-eptdeveloper
source share