【发布时间】:2016-02-19 03:35:24
【问题描述】:
我看到很多关于获取正确的 iOS 应用程序徽章编号以响应远程通知的问题(例如 this、this 和 this)。它们都取决于意识到操作系统会在您的应用程序执行任何操作之前使用有效负载中的数字标记应用程序。我明白了,但我的问题有点不同。
假设启用了“远程通知”后台模式(以及为远程通知正确配置)的应用发生以下一系列事件:
- 服务器发送远程通知。有效载荷表明徽章编号应为 7。
- 操作系统收到此信息,用“7”标记应用,向用户显示警报/横幅,并在后台启动/唤醒我的应用以开始处理数据。
- 运行后不久,应用意识到服务器错误,正确的徽章编号应该是 3。
如果用户立即进入应用程序可能没什么大不了的,但如果他们不这样做,我希望徽章是正确的。我可以在后台执行时从application:didReceiveRemoteNotification:fetchCompletionHandler: 中设置徽章编号吗?
This 文章建议如果您要求“后台获取”后台模式并且操作系统满足您的愿望,您可以更改徽章。如果您有处理通知的背景,它不应该工作的任何原因?
【问题讨论】:
-
可以设置应用程序徽章 [UIApplication sharedApplication].applicationIconBadgeNumber = 1;如果您有正确的徽章计数,以编程方式喜欢这样
-
谢谢;我对此很清楚。但是我可以在后台处理通知时这样做,并让它替换通知设置的徽章编号(如果有的话)吗?
标签: ios notifications apple-push-notifications