ios - 在 iOS13 中接收推送通知时如何自动增加通知徽章编号
问题描述
在 iOS 13 之前,当推送通知到达方法时,我正在增加应用程序徽章编号application :didReceiveRemoteNotification:fetchCompletionHandler
:
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable : Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if application.applicationState == .background {
UIApplication.shared.applicationIconBadgeNumber += 1
}
completionHandler(.newData)
}
然后我每次打开应用程序时都会清理徽章编号:
func applicationDidBecomeActive(_ application: UIApplication) {
UIApplication.shared.applicationIconBadgeNumber = 0
}
问题在于,随着iOS 13 的最新更改,application :didReceiveRemoteNotification:fetchCompletionHandler
只有在推送通知的属性设置为至少 5 时才会调用该方法apns-priority
。我们正在使用不发送具有该属性的推送通知的第三方推送通知服务。
所以我的问题是:
收到推送通知时,我可以采取其他方式自动增加应用程序徽章编号吗?
谢谢
解决方案
您不需要唤醒应用程序并执行此操作,这将由系统决定是否唤醒您的应用程序。最好让系统处理它,并在通知中包含徽章编号。
推荐阅读
- vaadin - Vaadin 浏览器 url 在返回默认视图时不会更新
- r - 如何在 R-Studio 中使用 RJDBC 更改数据库(例如“使用 my_database”)?
- python - 在 Python 中使用 Gmail API 使用 message-id 搜索电子邮件
- reactjs - 查找具有条件的对象数组的值
- css - 使用引导程序创建标签云
- git - 我如何将我的文件夹分成两三部分
- c++ - 为什么不能在 main() 函数中定义类的静态(公共)成员?
- dictionary - 如何在机器人框架中使用带有 2 个参数的 For 循环?
- flask - Python Flask 未与 docker-compose 一起运行
- python-3.x - 在OpenGL中绘制到半透明帧缓冲区时如何抗锯齿?