Я создаю приложение только для watchOS и отображаю некоторые данные о событиях в моем усложнении. Все работает нормально, за исключением того факта, что событие EventKit storeChanged(_:) / EKEventStoreChanged
не запускается (только при запуске с XCode).
Я поместил наблюдатель событий в ExtensionDelegate
func applicationDidFinishLaunching() {
scheduleTask() // Start BackgroundTask
NotificationCenter.default.addObserver(self, selector: #selector(ExtensionDelegate.storeChanged(_:)), name: .EKEventStoreChanged, object: nil)
}
Но когда я Чтобы изменить некоторые данные в моем календаре, понадобится от 5 до 60 минут или что-то еще, чтобы вступить в силу в моей сложности Я думаю, что backgroundTask вступает в силу и извлекает новые данные, а не событие storeChanged(_:) / EKEventStoreChanged
.
Как мне добиться, чтобы событие storeChanged(_:) / EKEventStoreChanged
вызвало и повторило sh мое осложнение? Когда я открываю приложение (усложнение касания), storeChanged(_:) / EKEventStoreChanged
немедленно запускается и обновляет данные, но я не могу рассчитывать на то, что пользователь откроет приложение для отображения правильных данных в сложности.