UILocalNotification Programación con la repetición de 10 a.m. GMT Edición
-
25-09-2019 - |
Pregunta
Lo siento si esto es una cuestión novato absoluto, pero no puedo imaginar éste de las preguntas de documentación u otra pila -
¿Cómo puedo configurar un objeto NSDate a 10:00 pm GMT? La razón que pido es esto - Quiero establecer un localnotification a ocurrir a las 10:00 AM GMT cada día.
Creo que la siguiente es en el camino correcto:
NSDateComponents *comps = [[NSDateComponents alloc]init];
[comps setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[comps setYear:2011];
[comps setMonth:1];
[comps setWeek:1];
[comps setDay:1];
[comps setHour:10];
[comps setMinute:52];
[comps setSecond:0];
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
[comps release];
UILocalNotification *notif = [[UILocalNotification alloc]init];
notif.fireDate = date;
notif.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
notif.alertBody = @"New Challenges are available in Halo: Reach.\n\n Give them a look over with Halo Reach Challenges!";
notif.alertAction = @"Show Me";
notif.applicationIconBadgeNumber = 5;
notif.repeatInterval = NSDayCalendarUnit;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
[notif release];
Por desgracia, esto no se dispara. Cualquier ayuda sería muy apreciada:)
Solución
Mientras que su aplicación se está ejecutando, la notificación se envía directamente a su aplicación. Tendrá que configurar un controlador (en AppDelegate) y en la pantalla el mensaje mismo. Cuando la aplicación no se está ejecutando, la notificación se debe mostrar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow