Question

Je suis désolé si c'est une question noob absolue, mais je ne peux pas comprendre cela de la documentation ou d'autres questions pile -

Comment puis-je mettre un objet NSDate à 10h00 GMT? La raison pour laquelle je demande est - je veux mettre un localnotification de se produire à 10h00 GMT tous les jours.

Je pense que ce qui suit est sur la bonne voie:

    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];

Malheureusement, cela ne se déclenche pas. Toute aide serait grandement appréciée:)

Était-ce utile?

La solution

Tant que votre application est en cours d'exécution, la notification est envoyée directement à votre application. Vous aurez besoin de mettre en place un gestionnaire (en appDelegate) et l'affichage du message vous. Lorsque l'application ne fonctionne pas, doit être affiché la notification.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top