2013-03-20 3 views
2

я пытаюсь получить уведомление, когда дата массива становится таким же, как текущая дата этого кода я использую для этой задачиПроблемы с местным уведомлением

NSDateFormatter *Form = [[NSDateFormatter alloc] init]; 
    [Form setDateFormat:@"dd/MM/yyyy"]; 

    UILocalNotification *notification = [[UILocalNotification alloc] init]; 
    for (int i=0;i<_convertedBdates.count;i++) 
    { 
     NSDate *date =[Form dateFromString:[_convertedBdates objectAtIndex:i ]]; 
     NSLog(@"date%@",date); 

    if(notification) 
     { 
      notification.fireDate = date; 
      notification.timeZone = [NSTimeZone defaultTimeZone]; 
      notification.alertBody = @"New "; 
      notification.alertAction = @"View"; 

      notification.soundName = UILocalNotificationDefaultSoundName; 
      notification.applicationIconBadgeNumber = 1; 
      [[UIApplication sharedApplication] scheduleLocalNotification:notification]; 
     } 
    } 

предложить мне то, что я делаю неправильно

ответ

1

есть вы помещаете этот код в свой делегат приложения?

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 
{ 
    NSLog(@"Notification Received, %@, set for date %@", notification.alertBody, notification.fireDate); 
} 

если проблема сохранится, то я здесь :)

0

Если NSDate меньше текущей даты, то уведомление не будет огня. Если вы устанавливаете дату уведомления о дате рождения пользователя, это произойдет.

Если ваше приложение находится в режиме работы, то:

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 

выше метод называется.

Надеюсь, это вам поможет.

Все самое лучшее !!!