WKRefreshBackgroundTask обрабатывается только один раз в час - PullRequest
0 голосов
/ 16 ноября 2018

Я написал расширение Watchkit (WatchOS 5.1.1), в котором я пытаюсь получать данные каждые 30 минут или около того.

До сих пор я читал, что планирование фоновых задач не пунктуально с минуту, но довольно надежно в использовании пару раз в час.

Я планирую задачу, используя

 WKExtension.shared().scheduleBackgroundRefresh(withPreferredDate: Date(timeIntervalSinceNow:  interval * 60 ), userInfo: ["time": Logger.getDateString()] as NSDictionary ) { (error: Error?) in
        if let error = error {
            print("Error occured while scheduling background refresh: \(error.localizedDescription)")
        }
    }

Это работает, однако, независимо от того, какой интервал я выбрал, задание выполняется только через 60 минут. Я написал себе журнал, где я могу видеть, когда

func handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) 

вызывается в ExtensionDelegate, и я могу подтвердить, что дескриптор вызывается не достаточно часто.

Мои часы включены> на 80%, так что, похоже, проблема не в этом.

Цените любой вклад в это!

...