0

I want to create a userNotification that'll be shown in Notification Center while the app is running. Clicking the notification will terminate the app.

Which trigger needs to be used? How do I achieve this functionality?

Aryan Sharma
  • 625
  • 2
  • 9
  • 24

1 Answers1

0

Try this.

func scheduleNotification(at date: Date, body: String) {
    let calendar = Calendar(identifier: .gregorian)
    let components = calendar.dateComponents(in: .current, from: date)
    let newComponents = DateComponents(calendar: calendar, timeZone: .current, month: components.month, day: components.day, hour: components.hour, minute: components.minute)

    let trigger = UNCalendarNotificationTrigger(dateMatching: newComponents, repeats: false)

    let content = UNMutableNotificationContent()
    content.title = "Dont Forget"
    content.body = body
    content.sound = UNNotificationSound.default()

    let request = UNNotificationRequest(identifier: "textNotification", content: content, trigger: trigger)

    UNUserNotificationCenter.current().delegate = self
    //UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
    UNUserNotificationCenter.current().add(request) {(error) in
      if let error = error {
        print("Uh oh! We had an error: \(error)")
      }
    }
  }
Ganesh Kumar
  • 1,631
  • 2
  • 21
  • 35