问题标签 [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 回答
1126 浏览

ios - 从 userNotificationCenter 检索通知类型:didReceiveNotificationResponse:withCompletionHandler:

有什么方法可以检索触发的类型(localremote)通知userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:

我正在为我的应用程序开发某种内部分析模块。在每个应用程序中,我需要从通知 userInfo 和通知类型(本地或远程)向我们的分析服务器发送特定信息。

为了让userInfo我使用以下代码:

当然,在安排本地通知时,我可以将特定参数(到每个应用程序)添加userInfo到检索通知类型。但可能存在更明确的方式来做我想做的事。

0 投票
2 回答
1987 浏览

ios - 取消 UNNotificationRequest

因为UILocalNotification现在已弃用,所以我将代码移至新的UNNotificationRequestAPI。

它指出:“ cancelLocalNotification ”在 iOS 10.0 中已被弃用:使用 UserNotifications 框架的-[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]

但似乎它并不相等 - 虽然我可以随时删除消息cancelLocalNotification(即使它们被显示/传递),但似乎removePendingNotificationRequestsWithIdentifiers只会删除未传递的通知。这真的很烦人。

所以我的问题是:是否有有效的方法删除排队的通知,UNNotificationRequest或者我应该忽略那些弃用警告?

0 投票
1 回答
1219 浏览

ios - 将 UNNotificationRequest (UserNotificationFramework) 用于 iOS 上的仅数据本地通知

我想使用 iOS 10 上的 UserNotificationFramework 向自己发送仅数据通知——即,没有面向用户的文本或声音。基本上将它用作持久计时器,以便能够触发应用程序,如果在它触发时运行,以检查由于令牌到期而导致的会话超时等事情。

有点类似于本地通知中的“内容可用”不露面推送通知。

除了需要涉及某种面向用户的数据的情况下,我无法获得触发通知,这一切都正常工作。

以下是添加到UNUserNotificationCenter以触发通知的UNNotificationRequestUNMutableNotificationContent的相关部分。

如上所述,通知根本不会触发。如果我取消注释其中任何一行——不管哪一行——它都会触发。但我不希望向用户(在应用程序内部或外部)显示文本通知横幅,所以第一个没有帮助。我尝试使用无声的声音,以便系统可以认为它正在播放声音但用户没有任何体验。但是系统会发出方便的振动。在这种情况下不是那么方便。有没有办法让通知不振动?或任何其他方式来获取仅本地数据的通知?

0 投票
2 回答
1838 浏览

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

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

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

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

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

更新:

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

0 投票
0 回答
1538 浏览

ios - UNUserNotificationCenter 单元测试

我尝试测试一个简单的方法,该方法应该为 iOS 10 创建和传递通知。

这是此方法的单元测试:

当我尝试执行单元测试时出现异常,堆栈跟踪:

由于 current() 方法,此失败的责任线应该是 UNUserNotificationCenter 的访问。我不明白为什么?UNUserNotificationCenter 应该是一个单例,我不能在单元测试上下文中使用它吗?我应该嘲笑它吗?

0 投票
1 回答
378 浏览

ios - 如何让 UNNotificationSound 使用项目中蓝色文件夹中的 .caf 文件

我正在创建一个带有 UNNotificationSound 的 UNNotificationRequest 为:

声音位于主项目文件夹中的文件夹(蓝色)alarmSounds 中。

使用的声音始终是默认声音而不是我的声音。我也尝试过在“named:”参数中没有“alarmSound/”,但仍然无法正常工作。

我需要对声音文件做些什么特别的事情吗?

这是使用 xcode 9 并在 iOS 11 设备上尝试。

0 投票
1 回答
230 浏览

ios - 可以有多个未完成的 UNNotificationRequest 吗?

我的应用程序为将来安排了多个 UNNotificationRequest。每个请求都有一个唯一标识符。这不是在 UNCalanderNotificationTrigger 上重复的情况,因为重复设置为 NO。相反,每个请求都设置为不同的未来日历日期,但它们都是连续请求的,而且基本上是同时请求的。每个触发器由传入以下方法的间隔 (NSTimeInterval) 设置。UNNotificationCenter 委托 (appDelegate) 随后不会收到任何请求,无论是应用程序在后台还是前台。Apple 的开发人员文档都没有相关示例。我想知道我是否应该在完成处理程序中检查完成(我的代码有 withCompletionHandler: nil,但这就是 Apple 示例中显示的内容)。

0 投票
3 回答
2396 浏览

ios - UNUserNotificationCenter removeAllDeliveredNotifications 在 ios 11.2 中不起作用

我有一个包含多个本地通知的应用程序。当我尝试清除所有传递的通知时,我调用此removeAllDeliveredNotifications方法。它工作正常,直到ios 11.1。在ios 11.2及以上,它不能按预期工作。通知仍保留在通知中心。有人可以帮我解决这个问题。

提前致谢。

0 投票
0 回答
585 浏览

ios - iOS 11.2 从通知中心发送的通知不会删除

我一直在使用removeDeliveredNotificationsWithIdentifiers:removePendingNotificationRequestsWithIdentifiers方法从通知中心删除本地通知。

在我将设备更新到 iOS 11.2.2 之前,它一直运行良好,通知仍保留在通知中心。如果我运行getDeliveredNotificationsWithCompletionHandler,它会返回一个空数组。

从代码中执行删除命令后,如果从托盘中删除应用程序的一个通知,则同一应用程序的其余通知也会被删除。

每个通知都有不同的标识符。

我有另一台具有 11.1 的设备,通知正在此设备上完美删除。

0 投票
1 回答
968 浏览

swift - UNUserNotificationCenter.current().getDeliveredNotifications 只返回空数组

我正在尝试检索仍显示在通知中心但UNUserNotificationCenter getDeliveredNotifications(completionHandler:)不起作用的所有已发送通知。我可以获取所有待处理的通知,UNUserNotificationCenter getPendingNotificationRequests(completionHandler:)getDeliveredNotifications即使通知中心有通知,也只会返回 0 计数。