问题标签 [unnotificationrequest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
310 浏览

swift - 如何在 Swift 中为工作周(周一至周五)设置 UNCalendarNotificationTrigger?

使用iOS13.4、XCode11.4、Swift5.2、

您如何设置将在每个工作日(即周一至周五,但不是周六和周日)触发的本地通知?

我尝试了不同的日历组件设置,但没有成功解决工作日问题。

这是我到目前为止所做的......

如果警报需要在特定日期:

如果闹钟需要每天重复:

如果闹钟需要在特定工作日重复:

等等

但是您如何设置几个工作日(例如每个工作日周一到周五)?

这是我的精确 notificationDate 示例的代码:

0 投票
1 回答
124 浏览

ios - 在 applicationWillTerminate 中调用 removeAllPendingNotificationRequests() 在 iPad 上不起作用

我建立了一个虚拟项目来重现我看到的问题。在我的ContentView中,我安排了一些重复的通知。

然后在我的 中AppDelegate,我尝试在应用程序终止之前取消那些重复的通知。

我发现我的预定通知仍然发送,即使我可以在 Xcode 控制台中看到我的打印语句。但是,如果我在 iPhone 上运行相同的测试,我的通知不会按预期传递。

我做错了什么,还是这是一个错误?我在 iPad 上使用 13.4.1,在 iOS 上使用 13.3.1

0 投票
0 回答
35 浏览

swift - UserNotification 从未来的日期开始每分钟重复一次

使用Swift5.2、iOS13.4、

我尝试设置一个在特定日期触发并每分钟无限重复的本地通知。

我尝试通过以下方式使用 Calendar.components 和 UserNotification:

.

问题:

一旦我在alarmDate 上的任何时间执行上述代码,警报就会立即开始触发(而不是在alarmDate 时间,即实际达到小时和分钟时)。或者换句话说:当alarmDate 应该在20:31 开始时,并且我在例如16:00 执行上述代码时,它已经触发了警报(而不是预期的20:31)。这是为什么 ?

在上面的代码中,如果我将 calendarComponentSet 设置如下,我确实会在正确的日期和时间触发警报 - 但它不会按预期每分钟重复一次:

所以问题:

您如何创建在特定日期和时间触发并在此后每分钟无限重复的本地通知?

(目标是为此只花费一个本地通知)。

0 投票
1 回答
72 浏览

ios - 无法通过 UNUserNotificationCenter 获得重复的每日通知以显示

我的目标是设置一个重复的每日提醒通知。以下代码始终成功显示一次通知,但不会重复,尽管repeat: true在代码中进行了设置。

整个通知代码如下:

如上所述,此代码一次后无法成功显示通知。我没有其他代码可以清除带有此特定notificationID.

在应用程序启动时,我还会查看可用的待处理通知center.getPendingNotificationRequests,它始终显示为无。

任何关于我需要做什么来正确设置每日重复通知的见解都非常感谢。

0 投票
0 回答
137 浏览

ios - 仅取消今天重复的 UNNotification

我通过仅设置小时、分钟和秒来安排每日重复通知:

现在我希望能够取消当天的所有通知,这样我就可以从明天开始收到通知。我尝试继承 UNCalendarNotificationTrigger 以更改 nextTriggerDate,但使用我的自定义触发器类添加通知时出错。找不到实现此目的的方法,如果我在某个时间取消预定的通知,我将不再收到该通知。任何想法表示赞赏。

0 投票
1 回答
81 浏览

ios - 如何使用 for 循环获取 UNNotificationRequest 数组以填充 SwiftUI 列表视图?

我想简单地获取计划的本地通知列表并使用forEach. 我相信它应该像我在下面所做的那样工作,但是数组总是空的,因为它似乎是在 for 循环完成之前使用的。我尝试了getNotifications()使用完成处理程序的函数,也尝试了返回函数,但两种方法仍然无效。我怎样才能等到 for 循环完成来填充我的列表?或者如果有其他方法,请告诉我,谢谢。

更新:

这是我添加新通知并getNotifications再次调用的方式。我希望列表在创建新数组时动态更新。打印到控制台表明它getNotifications工作正常,并且新数组包含添加的通知。

0 投票
1 回答
57 浏览

swift - 从请求中检索 UNNotificationRequest 声音名称

我设置了一个带有自定义声音的通知,如下所示:

现在我想获取从 id 检索特定通知请求时使用的自定义声音的名称

我尝试像这样获得声音名称:

但这会返回:

有没有办法从该代码中获取文件名?

0 投票
1 回答
218 浏览

swift - 如何在特定时间安排通知,然后每 x 时间重复一次?

我正在制作一个提醒应用程序,您可以在其中安排提醒,然后每隔 x 秒/分钟/小时/天等重复一次。

如果我希望它每 x 次重复一次,我可以这样做:

这基本上是我想要的,但不是从现在开始 5 分钟,我希望能够选择开始日期,然后从初始开始日期开始每 5 分钟重复一次。

这可能吗?

0 投票
0 回答
29 浏览

swift - 如何在 Swift 中每天在稍微不同的时间安排本地通知?

我有这段代码,目前安排本地通知在事件发生前的一段时间内触发(例如:黄金时段开始前 30 分钟)。它在第一天运行良好,并在活动时间前 30 分钟安排了通知,但是第二天,由于黄金时间现在由于日落时间已经改变了 2 分钟,通知仍然在活动时间前 30 分钟安排前一天。

例如,如果今天的黄金时段是 17:52,则通知设置为提前 30 分钟,因此将在 17:22 正确触发。明天,黄金时段现在是 17:54,但通知仍将在 17:22 触发,而不是 17:24。如您所见,一周或两周后,通知时间将完全关闭。

这是我安排本地通知的函数,将触发器中的重复设置为 true:

(我添加了......与问题无关的额外代码,只是为了更容易理解发生了什么)

当用户点击一个按钮来选择他们希望在黄金时段之前多少小时/分钟时,我调用这个函数:

这是解决我的问题的正确方法吗?我错过了什么吗?任何帮助都会非常有用。我很乐意进一步解释每一行代码,请问!

0 投票
1 回答
86 浏览

ios - 设备重启后计划通知会发生什么情况?

我试图为这个问题找到一个确切的答案:“设备重启后我的预定通知会发生什么?”。

我已经使用UNUserNotificationCenter来安排所有通知,它们将根据安排的时间在每天重复触发。

这是我编写的代码片段,它在设备开启时工作。