UILocalNotification присылает лишь одно уведомление

ios
swift3

#1

Привет!
Такой вопрос. Мое приложение может отправлять только одно local notification. Понимаю, что из-за того, что используется один ID для всех уведомлений.
Как это исправить? Чтобы уведомления приходили по всем таскам в приложении когда наступает их due date, а не только по последнему. Приложение типа Todo list.

class GenerateNotifies {
let notifyID = "myNotify"

func schedulingNotify(date: Date, task: TaskModel) {
    let content = UNMutableNotificationContent()
    content.title = task.taskName
    content.body = task.description
    content.badge = 1
    content.sound = UNNotificationSound.default()
    
    let calendar = Calendar(identifier: .gregorian)
    let components = calendar.dateComponents([.year, .month, .day, .hour, .minute, .second], from: date)
    let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: false)
    let request = UNNotificationRequest(identifier: notifyID, content: content, trigger: trigger)
    
    let center = UNUserNotificationCenter.current()
    center.add(request, withCompletionHandler: nil)  
}

}


#2

Из документации Apple

If you use the same identifier when scheduling a new notification, the system removes the previously scheduled notification with that identifier and replaces it with the new one.

Да, все верно понимаете, из за notifyID у вас только одно уведомление.
И отсюда идет логичный ответ - сделать его разным.

У вас TaskModel - используйте например идентификатор этого объекта (надеюсь он у вас есть) как идентификатор уведомления.


#3

Спасибо!
как notifyID использовал timeStamp создания таска. Просто для теста