Я пытаюсь создать приложение реагирования на родную тревогу для iOS. Я взглянул на пару библиотек, и одна из них, которая казалась мне лучшей для моего проекта, является response-native-alarm, однако у меня возникла проблема с этим. Когда мое устройство находится в беззвучном режиме, запланированное локальное уведомление, которое используется для пробуждения устройства и воспроизведения звука, этого не делает. Я видел, как люди говорили, что они решили эту проблему с помощью API AVAudioPlayer, который предоставляет Apple, но я не могу заставить его работать. Немного руководства и помощи может быть полезным.
Я следовал объяснению здесь: Воспроизведение звука на iPhone даже в беззвучном режиме и попытался изменить код библиотеки для перехода в беззвучный режим без удачи.
Вот мой код
-(void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^ (UNNotificationPresentationOptions))completionHandler {
completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionSound);
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"/Library/Ringtones/Constellation" ofType:@"m4r"];
NSURL *url = [NSURL fileURLWithPath:soundPath];
audioPlay = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlay play];
}
Если я что-то не так делаю или есть альтернативная библиотека, которую можно использовать в реагирующем языке, я бы хотел это услышать. Я не очень опытен, когда дело доходит до объективного-c, поэтому я мог бы сделать что-то глупое в этом фрагменте кода.