UNNotificationServiceExtension

UNNotificationServiceExtension

我正在使用UNNotificationServiceExtension的应用程序。大多数情况下(大约90%左右),我的扩展程序都能正常运行,与后端建立连接,然后显示通知。但是似乎有时扩展程序根本无法运行,并且系统在通知内显示原始消息。为什么会这样?所有通知肯定都包含设置为1的可变内容密钥。

最佳答案

在实现UNNotificationServiceExtension时遇到了相同的问题。我的问题是时间限制,该时间限制用于加载其他内容

Here is the link

您的扩展程序有一段有限的时间(不超过30秒)
修改内容并执行contentHandler块。如果你这样做
没有及时执行该块,系统会调用
扩展程序的serviceExtensionTimeWillExpire()方法为您提供
最后机会执行该块。如果您不这样做,系统将显示
给用户的通知的原始内容。

如果要确保这是同一问题,则可以实施以下方法并以某种方式更改内容

func serviceExtensionTimeWillExpire()

通过增加UNNotificationServiceExtension存活的秒数,我发现有时系统甚至不给您那30秒。

关于ios - UNNotificationServiceExtension有时无法运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46991122/

10-13 03:59