问题标签 [unnotificationserviceextension]

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 投票
0 回答
45 浏览

ios - NotificationServiceExtension 同时调用了两次

我看到奇怪的行为,不太确定如何解决它,任何人都知道如果会发生什么

同时被调用两次,基本上旧的通知 contentHandler 还没有被调用,我收到了新的通知??

哪些通知将显示旧/新或两者?

对我来说,它显示的是默认通知,即没有我在内部进行的任何修改。

有人可以帮帮我吗。谢谢!!

0 投票
1 回答
44 浏览

ios - 未调用 UNNotificationServiceExtension didRecieve

我在 apns 有效负载中添加了 mutable-content: 1 。还检查了部署目标。我仍然没有接到 didRecieve 方法的电话。我正在使用 XCode 12

注意:UNNotificationContentExtension 正在工作,但不是服务

0 投票
0 回答
19 浏览

ios - 升级版本数据库后Service Extension中的核心数据

我有一个现有的应用程序,通过应用程序组在主应用程序和通知服务扩展之间共享数据库。

在一个新的应用程序版本中,我必须为我的数据库添加一些属性以获得新功能,所以我将我的数据库从版本 1 升级到版本 2(我正在使用轻量级迁移),除了一个具有 Bool 值的属性(它是版本 1 中的旧属性),当我从通知服务扩展获取包含该属性的对象时,它始终返回 true,而我从主应用程序获取该对象时,它返回正确的值。

这发生在任何人身上吗?请帮我解决这个问题。谢谢!

0 投票
0 回答
17 浏览

xcode - Xcode - 使用 UNNotificationServiceExtension 时如何控制在控制台中显示哪些进程的日志?

我正在运行一个具有 UNNotificationServiceExtension 的应用程序。UNNotificationServiceExtensions 作为一个单独的进程运行。当收到推送通知时,将执行服务扩展,控制台从应用程序的输出切换到扩展的日志输出。

  1. 有没有办法阻止控制台切换?
  2. 如何在 2 个进程的日志输出之间切换?

现在我找到了一种解决方法来查看这两个日志。我使用Report Navigator位于Project Navigator. 我对此不是 100% 满意,因为它占据了整个屏幕并且不如在控制台中查看输出那么方便。

0 投票
0 回答
54 浏览

ios - UNNotificationServiceExtension 修改或删除已发送的推送通知

我正在使用 linphone 开发 iOS 门铃应用程序。当有人按门铃且 iOS 应用程序未激活时,手机上会显示推送通知,您可以单击它,应用程序打开,您可以接听门铃。

现在,想象一下一小时后看到推送通知。门口已经没有人了,所以一旦门铃停止响起,我想删除或更新推送通知。我UNNotificationServiceExtension知道何时释放 sip 呼叫,所以我希望那时删除通知。

然而,似乎一旦我显示有人在门口的通知,我就不能再打电话了removeAllDeliveredNotifications

所以,这有效:

这不会:

当然,我想在显示通知后删除通知并给用户一些时间来单击它。有没有办法来解决这个问题?对我来说,另一个选择是能够将已经发送的推送通知更新为“有人在你家门口”之类的。

我希望能够做到这一点,serviceExtensionTimeWillExpire但看到我已经打电话contentHandler(bestAttemptContent)了,我不能再这样做了。

有任何想法吗?

0 投票
0 回答
20 浏览

push-notification - 通知服务扩展无法启动

我的 NSE(通知服务扩展)无法在某些未知设备上运行。我知道它是因为 (1) 它无法处理通知中传递的内容,并且 (2) 我检查了一台有此错误的设备,发现它无法启动。(通过 MITM,NSE 在收到通知时发送分析事件,但它没有)。

但是,这可以通过重新启动设备来解决。我不知道有多少用户遇到这个问题,所以我不知道这个问题是否普遍存在。

目前,由于 NSE 造成的 CPU/内存压力,系统似乎不允许我的扩展运行。我一开始以为它崩溃了,无法重启,但是手动崩溃扩展并没有带来相同的结果,扩展成功重启。

0 投票
0 回答
53 浏览

swift - 带有表情符号的推送通知(Firebase + iOS)

当我从 Firebase 控制台发送标题为 Hello \u{1F601} 的消息时,表情符号不会显示在 iOS 推送通知中。

原因是标题的类型是 Any?当我将它转换为字符串时,字符串变为“Hello \\u{1F601}”(双反斜杠)。

结果,表情符号不再被识别。

我正在使用 NotificationServiceExtension 并且已经尝试过

  • 字符串(描述:“\u{1F601}”)
  • "\u{1F601}".replacingOccurrences(of: "\\", with: "")
  • NSString 转字符串

还没有任何效果。是否可以强制转换类型 Any?到只有 1 个反斜杠的字符串?使用表情符号发送推送通知的最佳方式是什么?

提前致谢!

0 投票
0 回答
18 浏览

swift - 究竟什么时候会调用 notificationServiceExtension?

我目前正在设计一个应用程序,并且想知道,如果用户禁用了该应用程序的警报通知,是否会notificationServiceExtension被调用。

我正在考虑使用扩展didReceive方法来保存应用程序收到的所有通知。

在我的理论中,由于工作场所的事情我还没有开始编码,所以当 iOS 收到通知时,它似乎根本不会被调用。尽管在 Apples 文档中说,运行方法的两个因素是选择的mutable-content标签和alert类型。

我正在寻找一种避免使用的方法,application didReceiveRemoteNotification因为一些关于该方法的报告没有被尽可能多地调用。

长话短说,将notificationServiceExtension didReceive是保存通知内容的一个很好的替代方案application didReceiveRemoteNotification,或者由于存在风险,用户可以使用application didReceiveRemoteNotification更安全可靠的方式禁用警报通知?

谢谢,

0 投票
0 回答
97 浏览

ios - 构建错误:添加通知服务扩展时找不到“React/RCTBridge.h”文件

每当我为 iOS添加时,我的 RN 应用程序总是构建失败。Notification Service Extension错误如下所示:

尝试了很多在网上找到的解决方案,但它们似乎都不适用于我的情况。我尝试过一些简单的清洁,例如:

  • 纱线清洁
  • 干净的构建和重新构建
  • 移除 pod 并重新安装
  • 删除派生数据
  • 退出并打开 XCode
  • 重新启动我的 MAC

不确定需要什么,因为失败在Notification Service目标上。不是主应用程序本身。我试图遵循实施指南,但到处都是一样的,非常直接和简单。只需添加目标并创建应用 ID 即可。没有提到其他文件中的一些调整,也许我需要在 info.plist 或其他任何东西上添加额外的内容?

我目前正在使用XCode 12.4

知道应该做些什么来避免这个问题吗?

0 投票
0 回答
16 浏览

ios - 在 Notification 中处理多个内容扩展

我必须使用通知内容和服务扩展为多个类别显示不同的 UI,例如,一个 UI 可以有一个只有标题和副标题的图像,另一个可以有一些带有目标按钮的信息。如何作为内容扩展处理具有默认 ViewController 类的单个故事板。任何答案将不胜感激。