BGProcessingTask Not Triggering at Scheduled Time After Updating to Xcode 26.1.1

I’m reaching out regarding an issue we’ve been experiencing with BGProcessingTask since upgrading to Xcode 26.1.1.

Issue Summary

Our daily background processing task—scheduled shortly after end‑of‑day—has stopped triggering reliably at night. This behavior started occurring only after updating to Xcode 26.1.1. Prior to this update, the task consistently ran around midnight, executed for ~10–15 seconds, and successfully rescheduled itself for the next day.

Expected Behavior

BGProcessingTask should run at/near the scheduled earliestBeginDate, which we set to roughly 2 hours after end-of-day. The task should execute, complete, and then reschedule itself.

Actual Behavior

On devices running builds compiled with Xcode 26.1.1, the task does not trigger at all during the night. The same code worked reliably before the Xcode update. No system logs indicate rejection, expiration, or background task denial.

Technical Details

This is the identifier we use:


private enum DayEndProcessorConst {

    static let taskIdentifier = "com.company.sdkmanagement.daysummary.manager"

}

The task is registered as follows: When app launched


BGTaskScheduler.shared.register(

    forTaskWithIdentifier: DayEndProcessorConst.taskIdentifier,

    using: nil

) { [weak self] task in

    self?.handleDayEndTask(task)

}


And scheduled like this:



let date = Calendar.current.endOfDay(for: Date()).addingTimeInterval(60 * 60 * 2)

let request = BGProcessingTaskRequest(identifier: DayEndProcessorConst.taskIdentifier)

request.requiresNetworkConnectivity = true

request.requiresExternalPower = false

request.earliestBeginDate = date



try BGTaskScheduler.shared.submit(request)


As per our logs, tasks scheduled successfully

The handler wraps the work in an operation queue, begins a UI background task, and marks completion appropriately:


task.setTaskCompleted(success: true)


Could you please advise whether:

There are known issues with BGProcessingTask scheduling or midnight execution in Xcode 26.1.1 or iOS versions associated with it? Any new entitlement, configuration, or scheduler behavior has changed in recent releases? Additional logging or diagnostics can help pinpoint why the scheduler never fires the task?

Please note that after iOS 26, we are encountering this issue.

BGProcessingTask Not Triggering at Scheduled Time After Updating to Xcode 26.1.1
 
 
Q