В настоящее время нет официального способа зафиксировать событие нажатия клавиши громкости.Apple заявляет, что кнопка громкости работает с UIImagePickerController
, если вы позволили ей отображать элементы управления камерой.
Другие подходы, такие как прослушивание уведомлений, кажутся неподдерживаемыми взломами, которыми занимается команда Apple.- анекдотично - иногда закрываю глаза на.Чтобы предотвратить появление HUD тома, вы можете использовать недокументированные UIApplication
методы:
- (void)setSystemVolumeHUDEnabled:(BOOL)enabled;
- (void)setSystemVolumeHUDEnabled:(BOOL)enabled forAudioCategory:(NSString *)category;
Единственное заявление об их использовании, которое я видел:
UIApplication *app = [UIApplication sharedApplication];
[app setSystemVolumeHUDEnabled:NO forAudioCategory:@"Ringtone"];
[app setSystemVolumeHUDEnabled:NO];
I'mВы не уверены, что вам нужно отключить HUD для определенной категории, а затем вообще, но без надлежащей документации, что трудно понять.
Итак: используйте UIImagePickerController
и его кнопки камеры, если хотитебыть в рамках правил.Если вы нашли приложение, которое, кажется, работает вне правил, возможно, оно использует методы, описанные выше.