Incendio a la notificación local todos los días en diferentes horarios.

Estoy desarrollando un proyecto que notifica al usuario cada día en un momento diferente a partir de una database pnetworkingefinida, cinco veces al día para ser precisos. ¡Mi problema es cómo progtwigr todas estas veces, 5 veces * 365 días = 1825 dates de incendio! ¿Es posible progtwigrlos todos?

cualquier idea sería muy apreciada

Según la documentation de Apple:

Una aplicación puede tener solo un número limitado de notifications progtwigdas; el sistema mantiene las notifications de 64 disparos más pronto (con las notifications reprogtwigdas automáticamente contando como una única notificación) y descarta el rest

Resolví ese problema estableciendo una "queue" de notifications. Por ejemplo, en mi aplicación tengo tres types diferentes de notifications, digamos simplemente tipo A, B y C.

Programo las notifications A, B y C para el próximo mes, cada vez que el usuario abre la aplicación, verifiqué cuántas notifications dejaron. Si, por ejemplo, no hay más notifications A, la aplicación progtwig más notifications A y más.

¿Cómo logro esto?

Cada vez que programo una notificación, uso la propiedad userInfo . Configuré un dictionary con una key llamada type y un valor.

En el delegado de mi aplicación, reviso todas las notifications pendientes y cuento cuántas quedan para cada tipo. El código se ve así:

 NSArray *scheduledNotifications = [UIApplication scheduledLocalNotifications]; NSUInteger AType, BType, CType; for (UILocalNotification *notif in scheduledNotifications) { //Classify notifications by type NSUInteger notifType = [[notif.userInfo objectForKey:@"type"]integerValue]; if (notifType == 0) { AType++; }else if(notifType == 1){ BType++; }else{ CType++; } } 

Si el recuento de cualquier tipo es cero, la aplicación progtwig más notifications.

Finalmente, si las notifications se muestran, por ejemplo, todos los días a la misma hora puede utilizar la propiedad repeatInterval PERO no puede crear sus propios intervalos de repetición, solo puede usar los intervalos de repetición definidos en NSCalendarUnit .

Espero eso ayude.

Podría probar el framework de Eventkit utilizando que podría agregar recordatorios, events, alarmas.

1) No tiene ningún número de limitación de notificación como UILocalNotification.

2) Con el kit de events, puede agregar tanto events basados ​​en time como basados ​​en la location.

3) No necesita preocuparse por la privacidad también.

Aunque tanto UILocalNotification como EventKit son poderosos en sí mismos …

Tenga en count que: ios 6 o superior para el marco de EventKit

Es hasta usted para elegir cuál depende de sus necesidades.

Los siguientes enlaces te darán un buen comienzo

Recurso 1

Recurso 2

La image a continuación le dará un buen vistazo de lo que es evenkit.

EventKit_image

Use eventkit si se adapta a su necesidad.