Очистка одного уведомления в iOS 11.2 очищает их все

Начиная с iOS 11.2, очистка одного уведомления из моего приложения, похоже, очищает их все. Я не могу понять, что происходит, так как код не был изменен.

Мои UNNotificationRequest созданы с универсальными уникальными идентификаторами GUUID (поскольку мое приложение позволяет пользователям создавать несколько предупреждений на основе одного и того же типа напоминания).

Что я должен делать неправильно?

UNMutableNotificationContent *alertContent = [[UNMutableNotificationContent alloc] init];
alertContent.categoryIdentifier = ALERT_CATEGORY_ALERTS;
alertContent.body = task.title;
alertContent.userInfo = ... a dictionary of stuff

...

NSDateComponents *dateCompos = [localGregCal components:NSCalendarUnitYear | NSCalendarUnitMonth 
| NSCalendarUnitDay | NSCalendarUnitHour | 
NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:deliveryDate];

UNCalendarNotificationTrigger *alertTrigger = [UNCalendarNotificationTrigger 
triggerWithDateMatchingComponents:dateCompos repeats:NO];

UNNotificationRequest *notifRequest = [UNNotificationRequest requestWithIdentifier:NEW_GUUID
 content:alertContent trigger:alertTrigger];

person strangetimes    schedule 04.02.2018    source источник


Ответы (3)


Похоже, это проблема iOS 11.2.0-.5:

rdar://36575570: iOS 11.2.2: Очистка/Действие по уведомлению вызывает…

person strangetimes    schedule 04.02.2018

Я также столкнулся с той же проблемой только с iOS 11.2, и теперь я обновил свою ОС 11.2 до 11.3. Теперь он работает нормально для меня.

Итак, это ошибка, связанная с ОС, которая устранена в iOS 11.3.

person Harish Rathuri    schedule 03.04.2018

Другая причина/решение:

Если вы очищаете отдельное уведомление по прибытии тихого уведомления без alert, убедитесь, что aps.batch не установлено на 0. Убедитесь, что aps.batch вообще не включено в ваше сообщение.

person boformer    schedule 15.10.2018