From 64b6f95a1532676fb132f4ec37d2186396ec0596 Mon Sep 17 00:00:00 2001 From: Satindar Dhillon Date: Wed, 18 May 2022 21:36:37 -0700 Subject: [PATCH] use correct task request for background fetching --- apple/OmnivoreKit/Sources/App/Services.swift | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Services.swift b/apple/OmnivoreKit/Sources/App/Services.swift index 99e5b8425..280eb6207 100644 --- a/apple/OmnivoreKit/Sources/App/Services.swift +++ b/apple/OmnivoreKit/Sources/App/Services.swift @@ -24,14 +24,15 @@ extension Services { public static func registerBackgroundFetch() { BGTaskScheduler.shared.register(forTaskWithIdentifier: fetchTaskID, using: nil) { task in if let task = task as? BGAppRefreshTask { + logger.debug("in background task register closure") startBackgroundFetch(task: task) } } } static func scheduleBackgroundFetch() { - let taskRequest = BGProcessingTaskRequest(identifier: fetchTaskID) - taskRequest.requiresNetworkConnectivity = true + BGTaskScheduler.shared.cancelAllTaskRequests() + let taskRequest = BGAppRefreshTaskRequest(identifier: fetchTaskID) taskRequest.earliestBeginDate = Date(timeIntervalSinceNow: secondsToWaitBeforeNextBackgroundRefresh) do { @@ -53,17 +54,20 @@ extension Services { } services.peformBackgroundFetch() + task.setTaskCompleted(success: true) } - + func peformBackgroundFetch() { Services.logger.debug("starting background fetch") guard authenticator.hasValidAuthToken else { Services.logger.debug("background fetch failed: user does not habe a valid auth token") - authenticator.logout() return } + Services.logger.debug("ayo this is a background task!") // TODO: perform tasks using data service } } + +// e -l objc -- (void)[[BGTaskScheduler sharedScheduler] _simulateLaunchForTaskWithIdentifier:@"app.omnivore.fetchLinkedItems"]