我试图在后台模式下显示通知,但是这些通知必须彼此叠加,或者至少全部显示在屏幕上。
当前发生的情况是,当发送新通知时,它将取代之前的通知,而不是简单地添加。我指定了一个我保持不变的threadIdentifier以及一个categoryIdentifier,它们也总是相同的。
代码如下:
let content = UNMutableNotificationContent()
content.title = "Title"
content.body = "Message"
content.threadIdentifier = "notification"
content.categoryIdentifier = "notification"
let request = UNNotificationRequest(identifier: "Stock Changed", content: content, trigger: nil)
let center = UNUserNotificationCenter.current()
center.add(request) { (error : Error?) in
if let theError = error {
print(theError.localizedDescription)
}
}
如何确保通知不会互相替换? 谢谢!
答案 0 :(得分:1)
通知会删除具有相同标识符的旧版本。 因此,如果要防止它们彼此替换,则需要提供唯一的标识符:
例如
let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil)