Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 取消本地通知时删除徽章号码_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 取消本地通知时删除徽章号码

Iphone 取消本地通知时删除徽章号码,iphone,objective-c,ios,Iphone,Objective C,Ios,我正在开发一个提醒应用程序。我正在使用本地通知。它工作得很好。但我的应用程序图标上方总是会显示一个徽章号码。在触发本地通知后,如何删除徽章号码?当我放入[UIApplication sharedApplication]时,applicationBadgeNumber=0在“完成启动”中,徽章编号将被完全删除。每当在App delegate中触发通知时,都会触发didReceiveLocalNotification方法 您可以将计数减少一,并在添加新通知时添加一个 - (void)applicat

我正在开发一个提醒应用程序。我正在使用本地通知。它工作得很好。但我的应用程序图标上方总是会显示一个徽章号码。在触发本地通知后,如何删除徽章号码?当我放入
[UIApplication sharedApplication]时,applicationBadgeNumber=0
在“完成启动”中,徽章编号将被完全删除。

每当在App delegate中触发通知时,都会触发didReceiveLocalNotification方法 您可以将计数减少一,并在添加新通知时添加一个

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

    [UIApplication sharedApplication].applicationIconBadgeNumber=application.applicationIconBadgeNumber-1;
}

干杯

我猜您正在尝试从徽章图标中删除
徽章编号
,只显示一个空的(没有任何编号)徽章图标。 您不能仅从徽章图标中删除徽章编号。如果将
applicationBadgeNumber
设置为
0
,则徽章图标本身将从应用程序图标中删除


如果要显示徽章,则应该有一个数字,而不是
0
0
旨在删除徽章图标。

我尝试了相同的方法,发现:

当应用程序在后台运行并且您尝试将LocalNotification设置为0时,它将不会删除IconBadgeNumber。您需要将IconBadgeNumber设置为-1

    UILocalNotification *localSilentNotif;
    localSilentNotif.applicationIconBadgeNumber = -1;