从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];
答案 0 :(得分:0)
似乎是iOS 11.2.0-.5问题:
rdar://36575570: iOS 11.2.2: Clearing/Action on notification causes …
答案 1 :(得分:0)
我还面临同样的问题,只有iOS 11.2,现在我已经将OS 11.2更新到11.3。现在它对我来说很好。
因此,这是与操作系统相关的错误,已在iOS 11.3中解决。
答案 2 :(得分:0)
另一个原因/解决方案:
如果要在没有alert
的静默通知到达时清除单个通知,请确保未将aps.batch
设置为0。请确保其中不包含aps.batch
完全是您的信息。