Отложить будильник в приложении будильника в iPhone?

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

Пользователь не может дремать, пока приложение не запустится, т.е. вызывается указанный ниже метод.

-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

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

Проблема в том, что приложение выходит на передний план, и согласно HIG от Apple, я не должен закрывать приложение или автоматически отправлять приложение в фоновый режим, и поэтому пользователю нужно нажать кнопку "Домой", чтобы отправить приложение в фоновом режиме.

Недавно я наткнулся на это приложение. Это может отодвинуть будильник так, как я хочу.

Еще одна проблема - я могу выбрать звук для воспроизведения из My Music Library в этом приложении.

Любая идея, как это приложение удается сделать это?

1 ответ

Чтобы сделать то, что вы хотите, есть несколько вещей, которые нужно учитывать. Ваш подход к использованию UILocalNotification правильно, так что это хорошее начало.

Чтобы правильно реализовать функцию 'snooze', вам нужно учитывать, что приложение работает как на переднем, так и на заднем плане.

  • Если приложение находится на переднем плане (или пользователь открывает приложение из баннера уведомления извне) application:didReceieveLocalNotification: будет вызван, и вы можете просто обновить свой пользовательский интерфейс, чтобы показать кнопку повтора и запланировать новое локальное уведомление от продолжительности, загруженной из NSUserDefaults.
  • Если приложение работает в фоновом режиме, а пользователь закрывает уведомление, то впоследствии невозможно попытаться "отложить" будильник.

Что касается воспроизведения собственного звука из библиотеки iTunes, взгляните на soundName недвижимость на UILocalNotification

Другие вопросы по тегам