Ios 如何设置UILocalNotification的过期时间?
我想显示一个Ios 如何设置UILocalNotification的过期时间?,ios,objective-c,cocoa-touch,uilocalnotification,Ios,Objective C,Cocoa Touch,Uilocalnotification,我想显示一个UILocalNotification,但它只在24小时内有效。在24小时结束时,我希望通知“过期”;即:用户无法再看到过时的通知。如何执行此操作?您可以使用UIApplication.scheduledLocalNotifications获取挂起通知的列表,然后取消要清除的通知。我指的是已触发的通知 我相信将徽章设置为零将清除现有通知。我将尝试查看这是否还清除本地通知(除了推送通知)。要取消已发送的通知,请使用 UNUserNotificationCenter.current()。
UILocalNotification
,但它只在24小时内有效。在24小时结束时,我希望通知“过期”;即:用户无法再看到过时的通知。如何执行此操作?您可以使用UIApplication.scheduledLocalNotifications获取挂起通知的列表,然后取消要清除的通知。我指的是已触发的通知
我相信将徽章设置为零将清除现有通知。我将尝试查看这是否还清除本地通知(除了推送通知)。要取消已发送的通知,请使用
UNUserNotificationCenter.current()。删除了DeliveredNotifications(带有标识符:[“myidentifier”])
或
此答案中的示例代码:当应用程序不在前台且用户未与通知交互时,是否可以执行此操作?@Roboris,通知中心是一个共享实例,您可以将此行放入任何代码段中,当应用程序不在前台时可以调用此代码段。有很多方法可以唤醒应用程序,让它在后台工作(而不让它出现在用户面前)。例如推送远程通知或“单击”链接。你选择了适合你需要的方法。你能解释一下怎么做吗?“唤醒应用程序并使其在后台工作”。我的用例场景纯粹是本地的(不是远程的)。更像是一个自定义日历/计时器应用程序,它在每个事件之前发送多个通知,非常适合拖延者。当应用程序不在前台且用户未与通知交互时,是否可以执行此操作?
UNUserNotificationCenter.current().removeAllDeliveredNotifications()