0

How to schedule a local notification request with the future start date(with Time) and end date(with Time). is it possible as I am unable to see any variable in the framework

Avinash Tag
  • 162
  • 2
  • 12

1 Answers1

0
            let formatter = DateFormatter()
            formatter.dateStyle = .long
            formatter.dateFormat = "dd MMM yyyy HH:mm"
            
            guard let startDate = formatter.date(from: "03 Sep 2021 09:40")
            , let endDate = formatter.date(from: "03 Sep 2021 10:40") else { return }
            
            let intervalBetweenNotifications: Double = 5 * 60 // 5 minutes
            
            for item in stride(from: startDate.timeIntervalSinceNow, to: endDate.timeIntervalSinceNow, by: intervalBetweenNotifications) {
                let objectId = UUID().uuidString
                let content = UNMutableNotificationContent()
                content.title = "Title of the notification"
                content.sound = .default
                content.threadIdentifier = objectId
                let trigger = UNTimeIntervalNotificationTrigger(timeInterval: item, repeats: false)
                let request = UNNotificationRequest(identifier: objectId, content: content, trigger: trigger)
                UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
            }

You can change the start, end date and the interval between consecutive notifications.

  • this will schedule the notification in every 1 min but the start date will be today in your case, I want to change the star date of future. – Avinash Tag Sep 03 '21 at 06:15