2010-08-09 4 views
5

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

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

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

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

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

+0

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

+1

Ну, я думаю, я предполагал, что именно так функциональность наиболее близка. – BeachRunnerFred

+2

@ Daniel - если вы не работаете в Apple, вы делаете предположения :) – 2010-08-09 15:13:36

ответ

5

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

Вы должны указать file, чтобы добавить эту функциональность.

+0

I ' ve подал это как ошибку # 9381428. Хорошая идея! – Moshe

+0

Я подал его снова как ошибка # 11115712, почти год спустя: - \ – arya

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