Вопрос

Извините, если это абсолютный вопрос Noob, но я не могу понять это из документации или других вопросов стека -

Как я могу установить объект NSDate на 10:00 по GMT? Причина, по которой я спрашиваю это - я хочу установить локальную местность, чтобы произойти в 10:00 GMT каждый день.

Я думаю, что следующее находится на правильном пути:

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

К сожалению, это не огонь. Любая помощь будет очень оценена :)

Это было полезно?

Решение

Пока ваше приложение запущено, уведомление отправляется непосредственно в ваше приложение. Вам нужно будет настроить обработчик (в AppDelegate) и отобразить сообщение о себе. Когда приложение не работает, следует отображаться уведомление.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top