Отложить будильник в приложении будильника в iPhone?
Я работаю над приложением Будильник и использую локальные уведомления для включения будильника. Мне также нужно отложить будильник в соответствии с интервалом времени, установленным пользователем в пользовательских настройках.
Пользователь не может дремать, пока приложение не запустится, т.е. вызывается указанный ниже метод.
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
Поскольку я вызываю метод, чтобы отложить тревогу, добавив временной интервал в Firedate и перенесив локальное уведомление.
Проблема в том, что приложение выходит на передний план, и согласно HIG от Apple, я не должен закрывать приложение или автоматически отправлять приложение в фоновый режим, и поэтому пользователю нужно нажать кнопку "Домой", чтобы отправить приложение в фоновом режиме.
Недавно я наткнулся на это приложение. Это может отодвинуть будильник так, как я хочу.
Еще одна проблема - я могу выбрать звук для воспроизведения из My Music Library в этом приложении.
Любая идея, как это приложение удается сделать это?
1 ответ
Чтобы сделать то, что вы хотите, есть несколько вещей, которые нужно учитывать. Ваш подход к использованию UILocalNotification
правильно, так что это хорошее начало.
Чтобы правильно реализовать функцию 'snooze', вам нужно учитывать, что приложение работает как на переднем, так и на заднем плане.
- Если приложение находится на переднем плане (или пользователь открывает приложение из баннера уведомления извне)
application:didReceieveLocalNotification:
будет вызван, и вы можете просто обновить свой пользовательский интерфейс, чтобы показать кнопку повтора и запланировать новое локальное уведомление от продолжительности, загруженной из NSUserDefaults. - Если приложение работает в фоновом режиме, а пользователь закрывает уведомление, то впоследствии невозможно попытаться "отложить" будильник.
Что касается воспроизведения собственного звука из библиотеки iTunes, взгляните на soundName
недвижимость на UILocalNotification