无需推送通知即可更新iOS徽章

fab*_*789 84 notifications ios

我已经看到一些todo应用程序在午夜更新他们的应用程序徽章,始终显示正确的任务数量.他们这样做没有使用推送通知 - 所以我的问题是:他们是如何做到这一点的?他们是否使用本地通知 - 如果是,请在设备关闭时调用这些通知吗?我有点困惑,并会欣赏一些意见.

raa*_*aaz 137

试试这个

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
Run Code Online (Sandbox Code Playgroud)

要通过本地通知执行此操作,您必须设置值 applicationIconBadgeNumber

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.applicationIconBadgeNumber = 1;// set here the value of badge
Run Code Online (Sandbox Code Playgroud)

  • 在iOS 8.0及更高版本中,您的应用程序必须使用 - [UIApplication registerUserNotificationSettings:]注册用户通知,然后才能设置图标徽章. (2认同)

Jir*_*cak 14

对于每个使用新的闪亮Swift的人:

UIApplication.sharedApplication().applicationIconBadgeNumber = someNumber
Run Code Online (Sandbox Code Playgroud)

斯威夫特3:

UIApplication.shared.applicationIconBadgeNumber = someNumber
Run Code Online (Sandbox Code Playgroud)

  • 当提出快速答案时,最好包括你要覆盖哪个版本,因为它现在非常有活力. (2认同)
  • 吉日,后见之明有趣的评论;-) (2认同)

Jus*_*Sid 13

从iOS 4.0开始,您可以在至少运行iOS 4.0的所有设备上发出本地通知.查看UILocalNotification课程,它允许您在午夜设置徽章,而无需运行您的应用程序.


Vla*_*mir 7

设置UIApplicationapplicationIconBadgeNumber应用程序运行时在代码属性:

[UIApplication sharedApplication].applicationIconBadgeNumber = someNumber;
Run Code Online (Sandbox Code Playgroud)