如何删除Appicon徽章,ios10,swift

toa*_*ast 4 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)")
    }
Run Code Online (Sandbox Code Playgroud)

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

set app icon badge to: 1
Run Code Online (Sandbox Code Playgroud)

这会在AppIcon上设置徽章.

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

set app icon badge to: 0
Run Code Online (Sandbox Code Playgroud)

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

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

如何从AppIcon中删除徽章?

Ara*_*ind 14

设置徽章编号= 0.喜欢 UIApplication.shared.applicationIconBadgeNumber = 0