2012-05-06 6 views
5

Я загрузил некоторые приложения для будильника из App Store и обнаружил, что они могут продолжать играть звук и даже вибрировать телефон более 30 секунд (ограничения от UILocalNotifications). Я даже заставил закрыть приложение, и оно все еще работает!Как можно воспроизвести будильник в iOS, если приложение закрыто?

Интересно, как это возможно? Есть ли другой метод, чем UILocalNotification? Используют ли они несколько уведомлений?

Спасибо!

+0

Push-уведомления? Я действительно не уверен ... Просто идея – Sirens

ответ

3

Они могут использовать Push-уведомления, но для этого потребуется внешний сервер, интернет и вряд ли.

Скорее всего, они используют UILocalNotifications. Когда вы планируете уйти в определенное время, он уйдет в то время, даже если приложение было прекращено. ОС будет направлять все локальные уведомления, как только они были запланированы. Вот Apple documentation на UILocalNotification.

EDIT: В ответ на ваш комментарий планирование одного локального уведомления, а затем планирование второго на 30 секунд позже и т. Д. Правдоподобно. И мне кажется, что это единственный способ, если есть ограничение на 30 секунд.

+0

Я уверен, что они используют UILocalNotification, но локальное уведомление позволяет вам играть звук на 30 ''. Это заставляет меня думать, что они используют 10 или 15 UILocalNotifications, и когда вы открываете приложение, они увольняют их. – RubenVot

+0

Это может быть возможно. Обновлен мой ответ. – DGund

4

Я считаю, что если вы планируете UILocalNotification, ОС берет управление уведомлением и выполняет его, даже когда приложение, которое запланировало его закрытие.

+1

Ну ... это очевидно ;-) – RubenVot

+1

Я пропускаю очевидное на ежедневной основе :) –

1

Они могут быть аудио-приложениями с поддержкой фона (с использованием UIBackgroundModes в plist приложения) и играть молчание, используя звуковые очереди или RemoteIO Audio Unit, даже в фоновом режиме, до тех пор, пока время не будет смешиваться в некоторых звуковых сигналах или музыке.

+0

Проблема заключается в том, что App Store не позволяет использовать приложения с поддержкой фона для создания будильников ... – RubenVot

Смежные вопросы