Как НЕ запускать applicationSignificantTimeChange в полночь - PullRequest
0 голосов
/ 20 марта 2019

Как НЕ запускать applicationSignificantTimeChange в полночь, но использовать его во всех других случаях?

Это работает как положено, но как остановить это в полночь или между (23:30 до 00:30)?

func applicationSignificantTimeChange(_ application: UIApplication) {
    NSLog("Application Significant Time Change")
    Manager.setupTime()
}

1 Ответ

1 голос
/ 20 марта 2019

Вы не можете остановить запуск applicationSignificantTimeChange в полночь.

Из документации:

Примеры значительных изменений времени включают прибытие полночь , обновление времени перевозчиком,переход на летнее время: 30 и игнорируйте его.

func applicationSignificantTimeChange(_ application: UIApplication) {
    let currentTime = Date()
    let midnight = Calendar.current.startOfDay(for: currentTime)
    let thirtyMinsBeforeMidnight = midnight.addingTimeInterval(-30*60)
    let thirtyMinutesAfterMidnight = midnight.addingTimeInterval(30*60)

    if currentTime.timeIntervalSince(thirtyMinsBeforeMidnight) >= 0 && currentTime.timeIntervalSince(thirtyMinutesAfterMidnight) <= 0 {
        // time between 23:30 - 00:30
    }
    else {
        // time is not between 23:30 - 00:30
        // do your stuff
        NSLog("Application Significant Time Change")
        Manager.setupTime()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...