所以我一直在尝试实现iOS 10本地通知,首先我认为代码与iOS 9相同,只是添加了通知扩展目标。但实际上它使用的是UNMutableNotificationContent
类,
我可以使用时间间隔设置通知,但是如何使用日期选择器专门设置开火日期?
import UserNotifications
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .full
let displayDate = dateFormatter.string(from: datePicker.date)
let notif = UNMutableNotificationContent()
notif.title = "Reminder)"
notif.subtitle = "\(displayDate)"
notif.body = "Details"
notif.categoryIdentifier = "Details Reminder"
let notifTrigger = UNTimeIntervalNotificationTrigger(timeInterval: 5, repeats: false)
let request = UNNotificationRequest(identifier: "myNotif", content: notif, trigger: notifTrigger)
UNNotificationRequest
触发器需要类型UNTimeIntervalNotificationTrigger
,我希望我可以添加日期。
我是否需要使用当前日期和日期选择日期来计算间隔时间?或者我可以用其他方式做到这一点
答案 0 :(得分:5)
您需要提供“现在”和希望发送通知的时间间隔。
let interval = laterDate.timeIntervalSince(earlierDate)
在这种情况下,earlierDate
应为'now'(即Date()
},我认为laterDate
是您的datePicker.date
。
答案 1 :(得分:2)
您应该使用UNCalendarNotificationTrigger。
UNCalendarNotificationTrigger.init(dateMatching: NSCalendar.current.dateComponents([.day, .month, .year, .hour, .minute], from: <<YOUR_DATE>>), repeats: false)