如何删除Appicon徽章,ios10,swift

时间:2016-11-23 10:04:36

标签: ios swift

我可以为AppIcon添加徽章,我无法将其删除。

我有一个通知助手类,带有刷新徽章编号功能,如下所示:

import UserNotifications

class NotificationHelper {

...

    //fetch all notifications, and update the tabBarController
    func refreshTabBarBadge(tabBarController: UITabBarController) {
        ... some Core Data related stuff to set badge

        let content = UNMutableNotificationContent()
        if badge > 0 {
            content.badge = badge as NSNumber
        }
        else {
            content.badge = 0
            content.badge = nil
        }
        print("set app icon badge to: \(badge)")
    }

当我打印输出时,我看到:

set app icon badge to: 1

这会在AppIcon上设置徽章。

然后当我触发导致badge变量减少的事件时,我看到:

set app icon badge to: 0

然而,当我对应用程序进行后台处理并检查图标时,徽章仍然存在,设置为1。

好像content.badge根本不起作用。在Apple文档中,它说如果徽章编号为0,它将删除徽章,但事实并非如此。如您所见,我之后也尝试将其设置为nil

如何从AppIcon中删除徽章?

2 个答案:

答案 0 :(得分:13)

设置徽章编号= 0。 比如close()

答案 1 :(得分:0)

我用过

content.badge = -1

删除徽章。