Отображение оповещения / уведомления в Iphone в определенное время (устанавливается пользователем или разработчиком) - PullRequest
0 голосов
/ 08 июня 2011

Я хотел бы знать, какие функциональные возможности IOS можно использовать для отображения оповещения / уведомления в определенное время на iphone. Время будет установлено пользователем или разработчиком с помощью UIDatePicker. При запуске Local Notification Tutorial , предупреждение / уведомление отображается только тогда, когда приложение находится в фоновом режиме (пожалуйста, исправьте меня, если я ошибаюсь)

Было бы замечательно, если бы кто-нибудь помог мне с этим.

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Так что я думаю, что вы на правильном пути: не уверен, что еще я могу добавить.

Вы можете использовать локальное уведомление для отображения предупреждения в любой момент времени. Как видно из руководства, уведомления не запускаются, когда ваше приложение находится на переднем плане.

Но ничто не мешает вам писать код в вашем приложении для предупреждения пользователей в то время, когда требуется уведомление, когда ваше приложение находится на переднем плане: и это, вероятно, более идеально. Возможно, вы захотите воспользоваться предложенными вам опциями пользовательского интерфейса, когда на переднем плане делаете что-то другое, или вы можете просто отобразить свой собственный UIAlertView.

0 голосов
/ 10 июня 2011

Я могу дать вам свой короткий код, чтобы указать точное время для даты ... Я пытался рассчитать конкретное время месяца.Пример (с 1-1-2011 по 2-1-2011 в 0: 0: 00 утра).Где я живу, у меня есть 2 часа разницы по Гринвичу.

dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];


components = [[NSDateComponents alloc] init];
NSCalendar *gregorian = [NSCalendar currentCalendar];
[components setMonth:1];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
dategre = [gregorian dateByAddingComponents:components toDate:[datePicker date]  options:0];

//These steps below are important to put your specific date, in this case specific hour
selected2 = [dateFormatter stringFromDate:dategre];
dategre = [dateFormatter dateFromString:selected2];

// Вы увидите на консоли отладчика что-то вроде этого: //datePicker.date = 2011-01-01 08:42:16 GMT // dategre = 2011-01-31 22:00: 00 GMT (для нас это равно 2-1-2011 в 0:00:00 утра)

Надеюсь, я смогу вам помочь,

пока,

Willy.

...