3 回答
TA贡献2003条经验 获得超2个赞
很可能是因为Notification Center是一个相对较新的功能,Apple并不一定要推动全新的范例来清除通知。因此,他们有多种用途[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];来清除上述通知。这似乎有点怪异,Apple将来可能会提供一种更直观的方式来执行此操作,但目前这是官方方式。
我自己,使用以下代码段:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
永远不会从通知中心清除该应用程序的所有通知。
TA贡献1848条经验 获得超10个赞
iOS 10更新(Swift 3)
为了清除iOS 10应用中的所有本地通知,您应该使用以下代码:
import UserNotifications
...
if #available(iOS 10.0, *) {
let center = UNUserNotificationCenter.current()
center.removeAllPendingNotificationRequests() // To remove all pending notifications which are not delivered yet but scheduled.
center.removeAllDeliveredNotifications() // To remove all delivered notifications
} else {
UIApplication.shared.cancelAllLocalNotifications()
}
此代码处理针对iOS 10.x和所有先前版本的iOS的本地通知的清除。您将需要import UserNotificationsiOS 10.x代码。
- 3 回答
- 0 关注
- 981 浏览
添加回答
举报