Локальное уведомление iOS Fire каждый день в определенное время - PullRequest
2 голосов
/ 28 января 2012

Я пытаюсь запускать локальное уведомление каждый день в 12:01, но я не знаю, почему мой код не работает.Не могли бы вы помочь мне найти проблему?

local = [[UILocalNotification alloc]init];

NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSPersianCalendar];
NSDateComponents *dateComps = [[NSDateComponents alloc] init];

//edited:
[dateComps setYear:1390]; //2012
[dateComps setMonth:10]; //1
[dateComps setDay:9];    //29

 local.repeatInterval = 5;

[dateComps setHour:00];
[dateComps setMinute:1];
[dateComps setSecond:00];


local.fireDate = [calendar dateFromComponents:dateComps];
local.alertBody = @"HELLO";
local.alertAction = @"View";
local.applicationIconBadgeNumber = 1;
[[UIApplication sharedApplication]scheduleLocalNotification:local];

1 Ответ

3 голосов
/ 28 января 2012

Вы не устанавливаете свойство repeatInterval уведомления, и в ваших компонентах даты отсутствуют месяц, год и день. Значения по умолчанию равны нулю, поэтому ваш fireDate находится в прошлом.

Кроме того, вы можете использовать NSGregorianCalendar вместо NSPersianCalendar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...