Можно ли программно проверить, работает ли системная опция iPhone
Settings -> Sounds -> Vibrate on Ring
включен?
В моем приложении я хотел бы отображать предупреждение для пользователя, если эта опция отключена.
Можно ли программно проверить, работает ли системная опция iPhone
Settings -> Sounds -> Vibrate on Ring
включен?
В моем приложении я хотел бы отображать предупреждение для пользователя, если эта опция отключена.
Вы не можете. Потому что Apple не предоставляет API для доступа к приложению настроек iPhone.
может быть, вы могли бы попробовать и убедиться, что вы запускаете приложение в iDevice, потому что симулятор не имеет режима без звука или звонка :)
Новые изменения
-(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;
}
и вы можете вызвать этот метод следующим образом
if ([self silenced])
{
NSLog(@"silenced");
} else {
NSLog(@"not silenced");
}
надеюсь, это поможет вам!