Пользовательский будильник iOS 8 с использованием uilocalnotification и воспроизведения звука в фоновом режиме при бесшумном телефоне

Я пытаюсь создать собственное приложение для аварийных сигналов. Но задача, с которой я сталкиваюсь, – заставить звук воспроизводиться, когда приложение находится в фоновом режиме.

Первый метод, UILocalNotification ,

Согласно руководству Apple по программированию, правильный способ сделать будильник

- (void)scheduleAlarmForDate:(NSDate*)theDate { UIApplication* app = [UIApplication sharedApplication]; NSArray* oldNotifications = [app scheduledLocalNotifications]; // Clear out the old notification before scheduling a new one. if ([oldNotifications count] > 0) [app cancelAllLocalNotifications]; // Create a new notification. UILocalNotification* alarm = [[UILocalNotification alloc] init]; if (alarm) { alarm.fireDate = theDate; alarm.timeZone = [NSTimeZone defaultTimeZone]; alarm.repeatInterval = 0; alarm.soundName = @"alarmsound.caf"; alarm.alertBody = @"Time to wake up!"; [app scheduleLocalNotification:alarm]; } } 

Проблема в том,

  • если у пользователя есть телефон в режиме молчания, звук уведомления будет только небольшим вибросигналом, которого недостаточно для сигнала тревоги.

  • Идеалистично, я хочу, чтобы будильник погас, независимо от того, что телефон молчит или нормально, чтобы разбудить пользователя.

Второй способ, о котором я могу думать, AVAudioSession

  • Но когда область приближается или срабатывает тревожный сигнал, аудиозапись не может быть инициирована в фоновом режиме, поэтому любые методы audioPlayer.play () ничего не сделают.

Помимо вышеупомянутых двух методов, которые оба не работают, я не могу найти никаких других способов решения этой проблемы.

Я пытаюсь сделать приложение, которое представляет собой оповещение о местоположении.

  • Я могу настроить область и пользовательский звук в течение 30 секунд на моем UILocalNotification, но звук не будет воспроизводиться, если телефон молчит.

  • У меня может быть диспетчер locationManager, который отслеживает мой регион, но я не могу воспроизвести звук после того, как получу уведомление из фона.

Я загрузил множество приложений, которые способны это сделать, поэтому я знаю, что должен быть способ его достижения. Однако, после нескольких попыток под разными углами, я не могу найти никаких хороших решений. Если у кого-то был опыт создания настраиваемой тревоги, пожалуйста, поделитесь советами и указателями, если сможете.

Спасибо.

One Solution collect form web for “Пользовательский будильник iOS 8 с использованием uilocalnotification и воспроизведения звука в фоновом режиме при бесшумном телефоне”

Поскольку моей репутации недостаточно, чтобы комментировать всюду, я бы написал ее здесь как ответ. Извини за это.

Я тоже страдаю той же проблемой. Хотя я не могу дать вам решение, могут быть некоторые намеки на вас. Для меня, я думаю, это невозможно.

Я дважды проверял два приложения для сигнализации, которые я использую: Sleep Cycle и UNIQLO Wake Up . И я узнал, что эти два приложения попросили вас постоянно держать его на переднем плане, чтобы убедиться, что будильник будет работать. Особенно UNIQLO Wake Up, он покажет вам предупреждение при сохранении будильника, сообщив, что нажатие кнопки «Главная» может привести к тому, что будильник не работает.

Существует задание, задающее вопрос о подобном вопросе, и автор предоставляет некоторые названия приложений: Как начать воспроизведение звука, когда в бесшумном режиме заблокирован в iOS 6 . Я проверил приложение WaveAlarm . Аналогично, если сотовый телефон находится в режиме отключения звука, и вы помещаете его в фоновом режиме, будет работать только UILocalNotification. Это означает, что в этой ситуации звук не воспроизводится. Если ваш мобильный телефон все еще находится в режиме отключения звука, но вы сохраняете приложение на переднем плане, оно будет воспроизводить звук. Объем звука зависит от объема, установленного для воспроизведения видео.

Поэтому для меня, я думаю, что невозможно воспроизвести звуковой сигнал при установке приложения на задний план и установить сотовый телефон в режим отключения звука. Я предполагаю, что самый лучший способ добиться этого – попросить пользователей оставить его на переднем плане и воспроизвести носитель с звуковым сигналом.

Я попытаюсь выполнить эту функцию в эти два дня. Если у меня есть другое понимание, я отредактирую этот пост здесь.

  • UILocalNotification с вибрацией
  • Пользовательский звук UILocalNotification не воспроизводится в iOS7
  • UILocalNotification не срабатывает после 10 минут в фоновом режиме
  • Расписание UILocalNotification на основе изменений основных данных
  • UILocalNotification не воспроизводит звук, когда приложение находится на переднем плане
  • спросить у пользователя разрешение показывать предупреждение при запуске локального уведомления
  • как отменить pileular UILocalNotification в быстрой?
  • Локальные и Push-уведомления в IOS 9 и 10 с использованием swift3
  • Локальное уведомление в фоновом режиме
  • как установить массив даты в fireDate в локальном уведомлении за раз
  • Тестирование устройств Локальные уведомления
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.