Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何设置UILocalNotification的过期时间?_Ios_Objective C_Cocoa Touch_Uilocalnotification - Fatal编程技术网

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()