2010-08-09 26 views
5

Estoy inmerso en el desarrollo de iOS y estoy construyendo mi propia aplicación de reloj despertador para familiarizarme con la plataforma y el SDK. Una de las API que estoy aprendiendo actualmente es la API de notificaciones locales, que supongo que es la misma API que Apple usa para implementar sus alarmas en la aplicación Reloj.¿Cómo puedo implementar la funcionalidad "Snooze" de Apple en su aplicación Clock?

Lo que no entiendo es cómo implementan su funcionalidad "Snooze". Según tengo entendido, las notificaciones locales le permiten presentarle al usuario un cuadro de alerta que tiene como máximo dos botones cuando su aplicación no se ejecuta en primer plano, un botón para descartar la alerta y un botón para llevar al usuario a su aplicación . Sin embargo, en la aplicación de Reloj de Apple, parece que al usuario se le presenta un cuadro de alerta con dos botones, un botón para cerrar la alarma y un botón para "Posponer" y reprogramar la alarma sin iniciar la aplicación Reloj. Mis preguntas son ...

  1. Cuando el usuario hace clic en el botón "Snooze", ¿cómo cree que Apple está reprogramar la notificación local para la alarma sin necesidad de iniciar la aplicación Reloj? ¿Crees que están usando sus propias API privadas que eluden las limitaciones de las Notificaciones locales que solo permiten dos opciones? ¿O crees que están lanzando la aplicación Clock para reprogramar la notificación local, simplemente no muestran la aplicación de inicio y cierre?

  2. La documentación dice que la propiedad "alertAction" de la notificación local es el texto que se mostrará en el botón derecho del cuadro de alerta y la barra deslizadora de la pantalla de bloqueo. Sin embargo, en la aplicación de Reloj de Apple, el texto "Snooze" es el botón izquierdo en el cuadro de alerta, y tampoco es el texto de la barra deslizadora. ¿Por qué está esto al revés?

¡Muchas gracias de antemano por sus opiniones!

+0

¿Por qué supondría que Apple está utilizando notificaciones locales? De hecho, están utilizando algunos documentos no documentados para reprogramar la repetición, ya que en este momento no podemos programar una notificación local sin la reapertura de la aplicación – Daniel

+1

Bueno, supongo que asumí que porque eso es lo que más se parecía a la funcionalidad. – BeachRunnerFred

+2

@Daniel: a menos que trabaje para Apple, usted es el que hace suposiciones :) –

Respuesta

5

La API de notificación local no tiene ningún mecanismo para hacer lo que desea. Es casi seguro que la aplicación de reloj despertador no utiliza ninguna de las infraestructuras para notificaciones locales, es anterior a ellas. Incluso si se incluye en una parte de la infraestructura proporcionada por las notificaciones locales, ciertamente no está utilizando las API públicas.

Debe file un error que solicita que se agregue esta funcionalidad.

+0

I ' he archivado esto como error # 9381428. ¡Buena idea! – Moshe

+0

Lo he presentado nuevamente como error # 11115712, casi un año después: - \ – arya

Cuestiones relacionadas