Мне нужна твоя помощь! Я хочу убедиться, что при достижении максимального количества таймеров даже в свернутом режиме я получаю уведомление. Как сделать так, чтобы пришло это уведомление? (В свернутом режиме таймер работает)
Пока это происходит только в том случае, если таймер в открытом приложении закончился
// TimerFunc
func timerInstall(maxValue: CGFloat, cupBeforeStartIMG: String, cupAfterStartIMG: String, cupInProgressImg: String, cupInFinishImg: String ) {
// Arguments
let startTime = Date()
timerCircle.maxValue = maxValue
timerCircle.value = 0
// Timer
Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { (timerCounter) in
self.timerActivateButton.isEnabled = false
self.sortOfTeaPickerButton.isEnabled = false
let TimePassed = Date().timeIntervalSince(startTime)
self.timerCircle.value = CGFloat(TimePassed)
let valueInt = Int(self.timerCircle.value)
let valueMaxInt = Int(self.timerCircle.maxValue)
self.leftTimeLabel.text = String("\(valueInt) секунд")
// Switch
switch self.timerCircle.value {
case self.timerCircle.maxValue / 2:
self.timerImage.image = UIImage(named: cupAfterStartIMG)
case self.timerCircle.maxValue / 3:
self.timerImage.image = UIImage(named: cupInProgressImg)
case self.timerCircle.maxValue :
self.timerImage.image = UIImage(named: cupInFinishImg)
self.timerActivateButton.isEnabled = true
self.sortOfTeaPickerButton.isEnabled = true
timerCounter.invalidate()
self.playerSound.play()
self.timerActivateButton.backgroundColor = #colorLiteral(red: 0, green: 0.6549019608, blue: 0.462745098, alpha: 1)
self.timerActivateButton.titleLabel?.text = "Новая чашка"
self.leftTimeLabel.text = "Чай готов!"
self.scheduleNotifications(inSeconds: 5)
default:
break
}
}
}
// LocalNotification
func scheduleNotifications(inSeconds seconds : TimeInterval) {
let date = Date(timeIntervalSinceNow: seconds)
let notificationContent = UNMutableNotificationContent()
notificationContent.body = "Ваш чай готов, доставайте пакетик!"
notificationContent.sound = UNNotificationSound.default
let calendar = Calendar.current
let components = calendar.dateComponents([.month,.day,.hour,.minute,.second], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: true)
let request = UNNotificationRequest(identifier: "YourTeaIsReady", content: notificationContent, trigger: trigger)
let center = UNUserNotificationCenter.current()
center.add(request, withCompletionHandler: nil)
}
Я хочу получать локальное уведомление при достижении максимального количества таймеров в режиме свертки.