UILocalNotification Scheduling con Ripetere l'operazione per 10:00 GMT edizione
-
25-09-2019 - |
Domanda
Mi dispiace se questa è una domanda niubbo assoluto, ma non riesco a capire questo fuori dalle domande di documentazione o di altra pila -
Come posso impostare un oggetto NSDate alle 10:00 PM GMT? Il motivo che mi chiedo è questo - voglio impostare un localnotification a verificarsi in 10:00 GMT ogni giorno.
Penso che la seguente è sulla strada giusta:
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];
Purtroppo, questo non scatta. Qualsiasi aiuto sarebbe molto apprezzato:)
Soluzione
Fino a quando la vostra applicazione è in esecuzione, la notifica viene inviata direttamente alla tua app. Avrete bisogno di creare un gestore (in AppDelegate) e sul display il messaggio da soli. Quando l'applicazione non è in esecuzione, dovrebbe essere mostrato la notifica.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow