Ребят, кто-то работал с пуш уведомлениями? Хочу сделать так: юзер выбирает в настройках приложения с какого времени и по какое ему будут приходить уведомления. Например с 9 утра и до 18 вечера.
Во view, где юзер выбирает через datePicker время ДО которого ему будут приходить пуши, написал:
dateFormatter.dateFormat = "HH:mm"
UserSettings.userNotifTo = dateFormatter.string(from:
datePickerOutlet.date)
Тем самым сохранил в юзер дефолтс время, которое выбрал юзер
Далее в AppDelegate написал функцию, которая сравнивает время на устройстве и то, которое в юзер дефолтс:
func stopSendingNotifications() {
let date = Date()
dateFormatter.dateFormat = "HH:mm"
let result = dateFormatter.string(from: date)
currentTimOnDeviceForStop = result
print(currentTimOnDeviceForStop)
typealias TimeOfDay = (hour: Int, minute: Int, second: Int)
var calendar = Calendar.autoupdatingCurrent
calendar.timeZone = .current
let strings: [String] = [currentTimeOnDevice, UserSettings.userNotifTo]
print(strings)
let timesOfDay: [TimeOfDay] =
strings.map({ (string) -> TimeOfDay in
let components = calendar.dateComponents([.hour, .minute, .second], from:
dateFormatter.date(from: string)!)
return (hour: components.hour!, minute: components.minute!, second: components.second!)
})
print(timesOfDay)
if timesOfDay[0] >= timesOfDay[1] {
print("noitifcations turned off")
DispatchQueue.main.async {
UIApplication.shared.unregisterForRemoteNotifications()
}
} else {
return
}
}
Вызываю эту функцию в didFinishLaunchingWithOptions. Но почему-то все равно приходят пуши. Может кто подсказать?