Как я могу реализовать функциональность Apple «Snooze» в их приложении «Часы»? - PullRequest
5 голосов
/ 09 августа 2010

Я погружаюсь в разработку iOS и создаю свое собственное приложение для будильника, чтобы ознакомиться с платформой и SDK.Одним из API, который я сейчас изучаю, является API локальных уведомлений, который, как я полагаю, является тем же API, который Apple использует для реализации своих сигналов тревоги в своем приложении Clock.

Чего я не понимаю, так это как они реализуют свою функциональность "Snooze".Насколько я понимаю, локальные уведомления позволяют вам представить пользователю окно предупреждения, содержащее не более двух кнопок, когда ваше приложение не работает на переднем плане, одну кнопку для отмены предупреждения и одну кнопку для перехода пользователя в ваше приложение.,В приложении Apple Clock, однако, пользователь получает окно предупреждения с двумя кнопками, одной кнопкой для отключения будильника и одной кнопкой «Отложить» и перепланировать будильник без запуска приложения Clock.Мои вопросы ...

  1. Когда пользователь нажимает кнопку «Отложить», как вы думаете, Apple перепланирует локальное уведомление для будильника без запуска приложения «Часы»?Как вы думаете, они используют свои собственные частные API-интерфейсы, которые обходят ограничения локальных уведомлений, которые допускают только два варианта?Или вы думаете, что они запускают приложение Clock для перепланирования локального уведомления, они просто не показывают запуск и выход приложения?

  2. В документации сказано, что свойство "alertAction"Локальное уведомление - это текст, который будет отображаться на правой кнопке окна оповещения и на ползунке экрана блокировки.В приложении Apple Clock, однако, текст «Повтора» - это левая кнопка в окне предупреждения, а также текст «Ползунок».Почему это задом наперед?

Большое спасибо заранее за ваши мысли!

1 Ответ

5 голосов
/ 10 августа 2010

Локальный API уведомлений не имеет никакого механизма, чтобы делать то, что вы хотите. Приложение будильника почти наверняка не использует инфраструктуру для локальных уведомлений, оно предшествует им. Даже если он учтен в некоторой инфраструктуре, предоставляемой локальными уведомлениями, он, безусловно, не использует общедоступные API.

Вам следует file ошибка, требующая добавления этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...