UILocalNotification nil userInfo - PullRequest
       16

UILocalNotification nil userInfo

2 голосов
/ 28 сентября 2011

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

+ (void) send:(NSString*)title actionText:(NSString *)actionText when:(NSDate *)when count:(NSInteger)count option:(NSDictionary *)options 
{
    UILocalNotification *notif = [[UILocalNotification alloc] init];
    //Setup code here...
    notif.userInfo = options;
    ALog(@"Sending notification %@ %@", notif.alertBody, notif.userInfo);
    //Print: Sending notification Task Col 0 0 {id = "1-1"};

    [[UIApplication sharedApplication] scheduleLocalNotification:notif];
}

Затем, когда я пытаюсь найти его:

+ (void) cancelNotification:(NSString *)theId {
    for(UILocalNotification *aNotif in [[UIApplication sharedApplication] scheduledLocalNotifications]) 
    {
        if([[aNotif.userInfo objectForKey:@"id"] isEqualToString:theId])
        {
            // Never come here: userInfo is nil!!!
        }
    }
}

Всегда пользовательская информация равна нулю. Я посылаю диктовку:

NSMutableDictionary *info = [[NSMutableDictionary alloc] init];
        [info setObject:theId forKey:@"id"];

или

[NSMutableDictionary dictionaryWithObject:theId forKey:@"id"]

с тем же результатом. (идентификатор NSString)

1 Ответ

0 голосов
/ 06 декабря 2012

Только локальное уведомление, оно имеет действительную метку времени.Поэтому, пока вы создаете, убедитесь, что он имеет правильную временную метку.Так что он будет присутствовать в запланированных уведомлениях UIApplicaiton.

Пожалуйста, дайте мне знать ваши комментарии.

например: localNotification.fireDate = [NSDate date];

...