Управление множественным UILocal уведомлением

Я создал несколько локальных уведомлений пользовательского интерфейса, скажем, 100. У меня есть массив UILocalNotifications, которые запланированы как:

-(void) scheduleNotification{ AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [[UIApplication sharedApplication] cancelAllLocalNotifications]; [self.notifications removeAllObjects]; for (int i = 0; i< [delegate.viewController.contactList count] ; i++) { UILocalNotification *localNotification = [[UILocalNotification alloc] init]; NSString *name = [[delegate.viewController.contactList objectAtIndex:i]objectForKey:NAME_KEY]; NSString *birthday = [[delegate.viewController.contactList objectAtIndex:i]objectForKey:BIRTHDAY_KEY]; if (birthday) { [formatter setDateFormat:@"MM/dd/yyyy"]; [formatter setLocale:[NSLocale currentLocale]]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; NSDate *date = [formatter dateFromString:birthday]; if (date == nil) { [formatter setDateFormat:@"MM/dd"]; [formatter setLocale:[NSLocale currentLocale]]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; date = [formatter dateFromString:birthday]; } NSCalendar *gregorianEnd = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *componentsEnd = [gregorianEnd components:NSWeekdayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit fromDate:date]; componentsEnd.year = [[NSDate date] year]; date = [gregorianEnd dateFromComponents:componentsEnd]; self.alarmTime = [date dateByAddingTimeInterval:self.mTimeInterval]; localNotification.fireDate = _alarmTime; localNotification.timeZone = [NSTimeZone defaultTimeZone]; localNotification.applicationIconBadgeNumber = 1; NSString *itemName = @"B'day Alert!!!"; NSString *msgName = [NSString stringWithFormat:@"Celebrate %@'s B'day",name]; NSDictionary *userDict = [NSDictionary dictionaryWithObjectsAndKeys:itemName,MessageKey, msgName,TitleKey, nil]; localNotification.userInfo = userDict; localNotification.soundName = self.soundName; localNotification.alertBody = [NSString stringWithFormat:@"Celebrate %@'s B'day",name]; [self.notifications addObject:localNotification]; } } } } 

Я внедрил делегата applicationDidEnterBackground как:

  - (void)applicationDidEnterBackground:(UIApplication *)application { UILocalNotification* notification; for (int i = 0; i< [self.settingVC.notifications count]; i++) { notification = [self.settingVC.notifications objectAtIndex:i]; [[UIApplication sharedApplication] scheduleLocalNotification:notification]; } } 

Кроме того, в didReceiveLocalNotification меня есть следующее:

  - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { NSString *itemName = [notification.userInfo objectForKey:TitleKey]; NSString *messageTitle = [notification.userInfo objectForKey:MessageKey]; [self _showAlert:itemName withTitle:messageTitle]; application.applicationIconBadgeNumber = notification.applicationIconBadgeNumber-1; } 

Но проблема в том, что я не получаю желаемого результата. Любая помощь будет оценена. Я знаю, что в приложении может быть только ограниченное количество запланированных уведомлений; система сохраняет самые быстрые 64 сообщения и отбрасывает остальное. Итак, как я буду обрабатывать эти 100 или более UILocalNotification?

  • автоматически созданный подкласс NSManagedObject для логического атрибута вызывает предупреждение
  • exit при нажатии кнопки - iOS
  • Можем ли мы установить аудиторию по умолчанию для facebook Share Dialog ios sdk?
  • Lazy Instantiation в контроллере просмотра
  • Неверное состояние устройства - ошибка симулятора Xcode / iOS
  • Как обрабатывать большие объемы текста в приложении iOS?
  • Xcode 5 Ваш двоичный файл не оптимизирован для ошибки iPhone 5 при проверке
  • ios: Как добавить новый профиль UDID в профиль подготовки без привязанного устройства?
  • Файл iOS был создан для архива, который не связан с архитектурой (i386)
  • Как я могу запустить команды как root?
  • Xcode 6.3 - У вас уже есть текущий сертификат разработки iOS или запрос на ожидающий сертификат
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.