Уведомление пользователя не отправляется с datePicker (swift4)
Мой код использует datePicker и печатает successT, когда datePicker совпадает с тем, что выбрал пользователь. Однако уведомление userNotification не появляется и никогда не вызывается, когда слово successT печатается в файле журнала, как я хотел бы
import UIKit
import UserNotifications
class ViewController: UIViewController {
var timer = Timer()
var passingDate : Date?
@IBOutlet var dptext: UITextField!
let datePicker = UIDatePicker()
override func viewDidLoad() {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.sound,.badge]) { (didAllow, error) in
}
createDatePicker()
timer = Timer.scheduledTimer(timeInterval: 60, target: self, selector: #selector(ViewController.testDate), userInfo: nil, repeats: true)
}
func createDatePicker() {
datePicker.datePickerMode = .dateAndTime
let toolbar = UIToolbar()
toolbar.sizeToFit()
let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePressed))
toolbar.setItems([doneButton], animated: false)
dptext.inputAccessoryView = toolbar
dptext.inputView = datePicker
}
@objc func testDate() {
if Calendar.current.isDate(datePicker.date, equalTo: Date(), toGranularity: .minute) {
print("successT")
passingDate = datePicker.date
let content = UNMutableNotificationContent()
content.title = "3 seconds are up"
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false)
let request = UNNotificationRequest(identifier: "timerDone", content: content, trigger: trigger )
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
}
}
@objc func donePressed() {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short
dateFormatter.timeStyle = .short
dptext.text = dateFormatter.string(from: datePicker.date)
self.view.endEditing(true)
}
}