【问题标题】:iPhone: How to set the application badge, when the app is closed/in background?iPhone:当应用程序关闭/在后台时,如何设置应用程序徽章?
【发布时间】:2026-02-20 04:40:01
【问题描述】:

是否可以在应用程序处于后台模式甚至关闭时设置应用程序徽章?我还没有找到任何东西。

【问题讨论】:

    标签: iphone cocoa-touch ios4 background push-notification


    【解决方案1】:

    在您的应用程序中,您可以使用UIApplicationapplicationIconBadgeNumber 属性来设置徽章编号:

    [UIApplication sharedApplication].applicationIconBadgeNumber = 1;
    

    如果您想在用户不启动应用的情况下更改徽章,则需要使用推送通知服务。 Push Notification Service Programming Guide 应该包含您需要的所有信息。

    【讨论】:

    • 添加到您的答案(如果您认为它合适的插件),@Stefan 也可以使用Local Notifications
    【解决方案2】:

    可以通过推送通知(如您已标记),但请记住,如果用户不允许推送通知,它将无法工作。

    要通过推送更新徽章编号,您需要在有效负载中包含以下内容:

    "badge" : 23
    

    有关有效载荷的更多信息,请参阅this apple doc.

    【讨论】:

    • 好的,这就是我所希望的 :-) 至少有一种方法可以在不运行应用程序的情况下设置徽章。
    【解决方案3】:

    我的应用程序徽章编号设置为接受的答案状态时遇到问题。

    我发现使用这个经过细微改动的代码效果更好:

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 1];
    

    如果您的徽章编号有问题,可能值得检查一下

    【讨论】:

      【解决方案4】:

      如果您不想使用推送通知,您可以安排本地通知来执行此操作。但是,如果您强制退出应用程序,这将不起作用。

      【讨论】: