Я хочу создать ежедневное уведомление в 10 утра с различным содержанием на каждый день.Повторение NSLocalNotification. Отклонив. Правильный способ
func createNotification() {
let dateComp:NSDateComponents = NSDateComponents()
dateComp.hour = 10; // supposed to run each day at 10AM
var myCalendar:NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
var date:NSDate = myCalendar.dateFromComponents(dateComp)!
let localNotification = UILocalNotification()
localNotification.fireDate = date
localNotification.alertBody = getContentStringForNotification() // Method returns different string for each date
localNotification.repeatInterval = .Day // Repeats every day
localNotification.timeZone = NSTimeZone.defaultTimeZone()
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
}
Он дублирует уведомления. Они продолжают повторять и возвращать даже вчерашние уведомления. Я искал ответы на вопросы в Stack Community, я не нашел подходящего способа их отклонить.
Как я понимаю:
- приложение завершается, и они планируются и действуют независимо от приложения. многократное выполнение приложения создаст еще больше уведомлений.
- Уведомления не были должным образом уволены, и они возвращаются с вчерашним сообщением даже на следующий день.
Помощь с:
- Что правильный способ уволить их или проверить, если они были уволены уже (убедившись, что они не повторяют
- Do I цикл и создавать уведомления для всех год вперед на каждый день или создать новый на завтра каждый раз, когда приложение запускается
Что я упускаю? Код приветствоваться. Спасибо!
Проверка того: Должен ли я писать последнюю дату запуска приложения в plist или есть готовый метод проверки последнего времени выполнения? – thinkswift
вы можете, если вам нужно это знать – Wain
Наверное, не потрудитесь с этим и просто отмените их все и создайте новые. Изменен мой код сейчас и надеюсь, что это отлично работает завтра. Вернемся к этому. – thinkswift