Как уже упоминалось, в iOS 8 вы можете использовать NSCalendarDayChangedNotification. С точки зрения того, как это сделать, этот пост дает вам больше информации.
По сути, NSCalendarDayChangedNotification требует, чтобы вы зашли в файл appDelegate и вставили в приложение следующий код (адаптировано из руководства для Swift 3):
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.dayChangedOperations(notif:)), name:NSNotification.Name.NSCalendarDayChanged, object:nil)
Где "ViewController" - это имя класса одного из моих классов, а "dayChangedOperations" - это имя функции, которую я хочу запускать при каждом изменении дня.
Количество дней с момента последнего изменения
Обратите внимание, что все, что вы получаете от этого, - это предупреждение о том, что день изменился. Вам не дают количество дней с момента последнего запуска приложения. Поэтому не забывайте сохранять дату в userDefault при каждом запуске этой функции, чтобы вы могли использовать ее для сравнения позже.