问题标签 [unnotificationtrigger]

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 回答
1429 浏览

ios - 如何获取待处理的 UNNotificationRequest 的剩余时间?

到目前为止,在添加 aUNNotificationRequestUNUserNotificationCenter包含之后UNTimeIntervalNotificationTrigger(这是我实现的代码):

它可以正常工作,但我需要的是访问触发请求触发器的剩余时间。

为清楚起见,在我的代码片段中,我声明:

let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 10.0, repeats: false)

所以,如果我等待6秒(从执行上面的代码片段开始),剩余的时间应该是4秒。

此外,我尝试获取待处理的请求以检查其触发器,如下所示:

但在UNNotificationTrigger中找不到所需的属性。

问题可能是有没有办法访问它?如果不是,那么实现它的合乎逻辑的解决方法呢?

0 投票
0 回答
309 浏览

swift3 - ios 10 swift 3 添加超过 64 个本地通知不会保持最快

正如我们所知,ios 10 中本地通知的限制等于 64。但是像水提醒这样的应用程序每天需要大量通知,用户可以为每天选择独特的计划。问题是:假设我已经存储了 64 条通知(星期一 10 条,星期二 8 条等等,它们都被安排为每周重复一次)

但是,假设今天是星期四,当我尝试添加工作日 = 6 的通知时,即星期五,我希望看到它已安排好。但实际上并非如此,我仍然安排了整个星期一和星期二,但没有星期五,并且没有任何错误要打印,并且当计数小于 64 时,星期五可以轻松添加。

所以也许我有错误的期望,但我认为当我安排新通知时,它应该删除最旧的通知,在我们的例子中是星期三、星期二或星期一。

0 投票
1 回答
4129 浏览

ios - 从明天开始在 Swift 中安排本地通知每天重复

我正在尝试安排本地通知在特定时间每天触发(即重复),但从明天开始。

即“从明天开始,每天晚上 8 点触发通知”

我一直使用这个SO question 作为指导,我相信我正在做它所说的,但是当我运行以下代码时,我今天仍然收到通知(例如,如果我在晚上 8 点之前安排通知):

0 投票
1 回答
241 浏览

ios - iOS 上的每日本地通知

我需要制作一个本地通知,每天在 19:30 提醒用户。

这是我所做的:

但是,我发现通知在 19:30 时没有提醒。相反,它会提前 15 分钟发出警报。此外,它也不能每天报警。我做错了什么?

0 投票
0 回答
174 浏览

ios - 什么是最好的 iOS GPS (CLLocationManager) 省电技术

不久前,我为 iOS 10 编写了一个 GPS 应用程序。我已经让它稳定并按预期工作,现在我想追求省电技术。该应用程序现在每 5 分钟发送一次 GPS 位置,但我可以灵活地选择发送 GPS 位置的频率,只要它们发送的频率不是太低。我的应用程序还需要“最佳”或“10m”GPS 定位设置,我知道这会消耗大量电量,但我不能根据我的要求使用 3km 设置(我知道这会节省更多电量)。

从我收集并阅读文档并使用代码使其工作的内容来看,似乎有两种技术:

  1. 结合 UNLocationNotificationTrigger 设置 pausesLocationUpdatesAutomatically = YES
  2. allowDeferredLocationUpdatesUntilTraveled:timeout:

根据iOS 10 和 11 中的这篇文章, 2 号显然根本不起作用。

当我将它登录到我的服务器时,数字 1 给了我零星的结果。有时它可以工作,有时我会在不知名的地方获得一个 GPS 点(没有看到暂停或恢复日志消息),然后它开始工作,其他时候它似乎根本不起作用。

有时我会在同一秒内看到 2 次连续停顿。

其他时候,我看到它背靠背(相隔几分钟)恢复位置,而从未看到暂停日志消息。其他时候,我看到暂停日志消息,几分钟后(或一段时间后)恢复 GPS 发送而没有看到“恢复”日志消息。

底线问题:

  1. 有没有人能够使用其中任何一种来节省电池 + GPS 在 iOS 10+ 中可靠地工作?
  2. 如果没有,您做了哪些组合措施来让它 100% 地工作,同时节省电池寿命?
  3. 我是否错过了另一种有效的技术?(注意我的要求不能使用 3km 设置)

谢谢您的意见!

0 投票
2 回答
1838 浏览

swift3 - 每 14 天(每两周)触发一次 UILocalNotification Swift

这个问题已经在 SO 上得到了回答。这是参考:

iOS 通知触发器:每两周和/或每季度

但到目前为止我所尝试的是:

14天后我无法实现它。虽然,它来自随机数据。任何人都可以检查代码有什么问题吗?

更新:

根据您的建议(https://stackoverflow.com/a/46072497/7408802),这是最终的代码!

0 投票
2 回答
621 浏览

ios - UNNotification 在 iOS 10.3.3 下不起作用

我进行了很多搜索,试图找到解决这个问题的具体方法。我有一个使用以前的 UILocalNotification 系统发送本地通知的应用程序,这在 iOS 10.3.3 下仍然可以正常工作。但是,我试图将其转换为新的 UNNotification 系统,因为以前的系统已被弃用。无论我尝试使用 UNCalendarNotificationTrigger 还是 UNTimeIntervalNotificationTrigger,代理都不会收到呼叫。这是触发视图控制器的代码。

这是委托(appdelegate)didFinishLaunching 的代码:

appdelegate 获取通知的代码:

这是触发代码的NSLog:

很明显,系统没有调用 appdelegate 方法(我确实在通知时间之前将应用程序置于后台,所以应该调用了 didReceiveNotification 方法。

如果有人可以提供帮助,我将不胜感激!

此外,viewDidLoad 中的这段代码:

以及启动触发过程的代码:

0 投票
0 回答
623 浏览

ios - 计划将来重复本地通知

将来是否可以安排重复的本地通知?例如,我正在尝试从 30 分钟开始每 10 分钟设置一次重复通知。(iOS 11 斯威夫特)

我试过使用UNTimeIntervalNotificationTrigger,但我不确定如何设置它应该何时启动。根据我的发现,触发器一旦添加到UNUserNotificationCenter.

由于用户可能会关闭应用程序,我认为我不能先创建一个通知,然后等到触发设置重复通知。

我看过这个:立即触发重复本地通知——如何推迟? 这:Ios 11-用户本地通知每 x 分钟重复一次 这:用户通知在 3 天内然后每天/每小时重复一次-iOS 10

所以似乎没有人想通。

(我不希望它每天或每周或在特定的一天重复。)

0 投票
0 回答
1190 浏览

swift - Swift 中的随机重复本地通知

TL;DR:是否可以在不使用APNS(或替代推送通知服务)的情况下获得重复的随机本地通知?

我正在构建一个Core Data包含一堆对象的应用程序。(我们称它们为小部件。)每天在特定时间——比如说中午——我想发送一个通知来检查这些小部件中的一个。

didFinishLaunchingWithOptions我检查以确保启用通知并设置委托等并调用函数来构建本地通知。所有这一切都完美无缺。

我也让委托的处理程序正常工作:

就像现在一样,在该功能中,如果用户以任何显式方式与通知交互,我可以将其“重置”UNMutableNotificationContent为新的随机小部件。问题是,如果用户根本不与通知交互——请参阅 Apple 的调度和处理本地通知文档的“处理标准系统操作”部分——我无法“重置”通知,所以明天他们' 只是会再次被建议相同的小部件,这很烦人。

我对使用APNS(或替代品)并不真正感兴趣,因为我觉得我不需要这样做并且不想处理所需的所有额外东西,但我似乎找不到替代品。

请注意,此问题与以下问题重复:

0 投票
0 回答
786 浏览

ios - UNUserNotificationCenter removeDeliveredNotificationRequests 在使用 UNCalendarNotificationTrigger 创建时不删除通知

我正在使用 iOS 10 中引入的较新的通知 API,并在 Swift 中工作。当我创建本地通知时,它会正确显示,但是当发生相关操作时,我会尝试在我的应用中将其删除(这样用户就不必手动清除它)。但是传递的通知似乎仍然存在。

我正在安排这样的本地通知:

当我的应用程序中发生的操作导致通知不再相关时,我想将其从通知中心中删除,或者如果尚未触发,则阻止它触发:

我已检查以确保标识符正确匹配。如果通知尚未触发,则不会。但是如果通知已经触发,它似乎会无限期地留在通知中心。应用程序徽章图标似乎确实按预期工作,但removeDeliveredNotifications如果不是从通知中心删除通知,我真的不明白它的用途。

注意:我已经在模拟器以及实际的 iPhone (iOS 11.2.6) 上对其进行了测试。

它似乎与特别相关,UNCalendarNotificationTrigger因为如果我切换到使用UNTimeIntervalNotificationTrigger一切似乎都可以正常工作。当我打电话时,基于时间间隔触发器的通知会消失,removeAllDeliveredNotifications并显示在getDeliveredNotifications. 我不明白为什么UNCalendarNotificationTrigger会有不同的行为(我在文档中读到基于位置的触发器有点不同,但不是日历触发器)。我怀疑这是iOS中的一个错误。

编辑:不是这个其他 SO 问题的重复,因为那个问题根本没有讨论这个问题。可能被认为是这个的副本,但那个没有任何答案。