ios - 如何更改角标(Badge)计数?

标签 ios swift apple-push-notifications cloudkit cksubscription

我正在使用 CKSubscription 发送推送通知,我发送得很好并且设备正确接收了所有内容,但是我的角标(Badge)计数总是比之前的 +1?应用程序运行后如何将其设置为 0?

我已将此代码添加到 func application didFinishLaunchingWithOptions

UIApplication.shared.applicationIconBadgeNumber = 0

但是当您运行该应用程序时,角标(Badge)消失,收到下一个推送通知时,该数字再次上升。

最佳答案

通过 CKModifyBadgeOperation 将其放入 applicationDidBecomeActive 解决了这个问题

let badgeOp = CKModifyBadgeOperation(badgeValue: 0)
badgeOp.modifyBadgeCompletionBlock = { (error) -> Void in 
if error != nil { print (“error with the badge”)
} 
else {
UIApplication.shared.applicationIconBadgeNumber = 0 }
}
CKContainer.default().add(badgeOp)
}

一切正常!!!!太开心了!!!!

关于ios - 如何更改角标(Badge)计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47367858/

相关文章:

ios - UITableViewController 不在 iOS 模拟器中显示单元格

swift - 如何将二进制指数为-10的数字转换为 float ?

ios - 在 iPad 上禁用手写笔滚动

ios - Apple 的静默推送通知能否在后台启动我的应用程序?

iphone - 在现有应用程序上推送通知。证书有问题

iOS自动更新应用程序

ios - 如何将按钮中的图像添加到表格而不加载缓慢

ios - 异常类型 : EXC_CRASH (SIGABRT)

ios - Swift ios 如何设置导航栏图像不拉伸(stretch)

iOS 6 : push notifications