Уведомление пользователя не отправляется с 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)

    }
    }

0 ответов

Другие вопросы по тегам