首页 文章

如何显示多个本地通知?

提问于
浏览
1

我有一个消息传递应用程序,我正在使用 VoIP notifications 向用户发送确认 . 我每次调用 PushKit delegate 时都会发出本地通知 .

当前情况是先前的通知被删除并被更新的通知替换 . 有没有办法管理本地通知,以便用户可以在其设备中看到多个通知?

This is the code I have tried:

let notificationContent = UNMutableNotificationContent()
notificationContent.title = "Title"
notificationContent.subtitle = "Subtitle"
notificationContent.body = "Body"

// Add Trigger
let notificationTrigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.01, repeats: false)

// Create Notification Request
let notificationRequest = UNNotificationRequest(identifier: "cocoacasts_local_notification", content: notificationContent, trigger: notificationTrigger)

// Add Request to User Notification Center
UNUserNotificationCenter.current().add(notificationRequest) { (error) in
  if let error = error {
    print("Unable to Add Notification Request (\(error), \(error.localizedDescription))")
       }
  }

P.S:我不想在以后安排本地通知

1 回答

  • 1

    使用for循环注册具有唯一标识符的多个通知https://developer.apple.com/documentation/usernotifications/unnotificationrequest/1649634-identifier?language=objc

    let notificationRequest = UNNotificationRequest(identifier: "cocoacasts_local_notification", content: notificationContent, trigger: notificationTrigger)
    

    您应该更改此标识符“cocoacasts_local_notification”以动态重置唯一标识符

    let notification = UNMutableNotificationContent()
            let notificationTrigger = UNCalendarNotificationTrigger(dateMatching: dayComponent, repeats: true)
                            let lnMessageId:String = messageDict["Id"] as! String
                            let dayRequest = UNNotificationRequest(identifier: lnMessageId , content: notification, trigger: notificationTrigger)
                            UNUserNotificationCenter.current().add(dayRequest, withCompletionHandler: {(_ error: Error?) -> Void in
                                if error == nil
                                {
                                    //print("success")
                                }
                                else
                                {
                                    //print("UNUserNotificationCenter Error : \(String(describing: error?.localizedDescription))")
                                }
                            })
    

相关问题