重置图标徽章计数

Reset count on icon badge

我使用 Parse.com 发送推送。当我发送推送时,我将增量徽章设置为 "yes",以便用户可以在我的应用程序图标上看到带有“1”的徽章。

当用户打开应用的主程序时 ViewController,应用会使用此代码清除徽章计数

UIApplication.sharedApplication().applicationIconBadgeNumber = 0

这很好用,徽章很清楚。但是,当我在启用徽章增量的情况下发送新推送时 - 我看到徽章上的数字是 2。我重置徽章计数的方法有问题吗?

那是因为当您删除本地徽章时,该设备的解析安装 class 中的徽章计数保持不变。您可以执行以下操作来删除它:

假设您已经确定当前用户有一个 PFInstallation(即他没有拒绝推送通知访问请求),要在后端重置徽章编号,您可以使用以下方法:

var currentInstallation = PFInstallation.currentInstallation()
      if currentInstallation.badge != 0 {
        currentInstallation.badge = 0
        currentInstallation.save
       }

这确保只有当徽章当前显示非零计数器时才将徽章设置为 0。

currentInstallation 上设置徽章也会自动设置 applicationIconBadgeNumber。通过这样做,Parse 将知道您的应用程序当前显示的数字是多少,并且只要再次将增量发送到此设备,它们就可以正确地增加计数器。有关更多信息,您可以阅读有关此事的 Official Parse Blog Announcement