OGeek|极客世界-中国程序员成长平台

标题: ios - 如何重置角标(Badge)应用程序图标编号? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:01
标题: ios - 如何重置角标(Badge)应用程序图标编号?

我将推送通知集成到 CloudKit 中,以便 iCloud 中的每次更改都会在我的 iPhone 上弹出一个通知,并且角标(Badge)应用程序图标编号会相应添加一个。但是,当我使用代码时:

application.applicationIconBadgeNumber = 0

要在 applicationDidBecomeActive(_ application: UIApplication) 中重置该编号,我注意到角标(Badge)应用程序图标编号确实消失了,但是如果再次出现另一个新通知,该编号将不会从一个开始再次按预期进行,但只需在重置之前将原始总数加一即可。因此这个数字越来越大。我想知道如何解决这个问题?



Best Answer-推荐答案


问题是你的apns payload,它包含超过1的角标(Badge)计数,你也需要重置payload。

当您设置 application.applicationIconBadgeNumber = 0 时,它只会在本地重置角标(Badge)计数,而不是在服务器中。

解决方案也将重置服务器中用户的角标(Badge)计数。

更新:Apns 有效负载

{
    "aps" : {
        "alert" : {
            "title" : "ush",
            "body" : "Hello User"
        },
        "badge" : 5
    }

}

应用程序显示的角标(Badge)计数与上面的 apns 有效负载中相同,您需要从服务器重置上面有效负载中的角标(Badge)值。

希望对你有帮助。

干杯。

关于ios - 如何重置角标(Badge)应用程序图标编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42720259/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4