Проблема с ежедневной UILocaleNotification - PullRequest
0 голосов
/ 16 марта 2012

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

- (void) LocalNotificationManager {


    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSPersianCalendar];
    NSDate *now = [NSDate date];    
    NSDateComponents *componentsForFireDate = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit| NSSecondCalendarUnit ) fromDate: now];



    [componentsForFireDate year];
    [componentsForFireDate month];
    [componentsForFireDate day];
    [componentsForFireDate setHour:00];
    [componentsForFireDate setMinute:2];
    [componentsForFireDate second];

    NSDate *fireDateOfNotification = [calendar dateFromComponents: componentsForFireDate];

    notification = [[UILocalNotification alloc]init];
    notification.fireDate = fireDateOfNotification;
    notification.timeZone = [NSTimeZone localTimeZone]; 
    notification.repeatInterval= NSYearCalendarUnit; 


    NSString *date = [self showPersianFullDate];
    notification.alertBody = [NSString stringWithFormat:@"today is  : %@  \n event : %@  \n" ,date , events.text];



    [self createEvents];
    [self retriveData];


    notification.alertAction = @"View";
    notification.soundName = @"webcam_on.aif";





    NSUserDefaults *notificationDefaults = [NSUserDefaults standardUserDefaults];
    BOOL DAILYNOTIF = [notificationDefaults boolForKey:@"dn"];

    if (DAILYNOTIF == YES) {

        NSLog(@"DN is Active");

        [[UIApplication sharedApplication] scheduleLocalNotification:notification];}


}

1 Ответ

1 голос
/ 16 марта 2012

Если вы хотите создать ежедневное уведомление, почему вы установили интервал в год?

Попробуйте изменить это

notification.repeatInterval= NSYearCalendarUnit; 

на

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