BGContinuationProcessingTask

Asked on 06/17/2025

1 search

The BGContinuationProcessingTask is a feature introduced in iPadOS and iOS 26, which allows apps to continue processing tasks even after being backgrounded. This task is particularly useful for operations that are initiated by the user, such as exporting files or updating connected accessories. The system provides UI to communicate progress, and users can monitor and cancel tasks as needed. This ensures that complex features can be executed smoothly in the background while keeping users informed and in control.

For more details, you can refer to the session "Finish tasks in the background" from WWDC 2025, specifically the chapter on Continued processing tasks.

Finish tasks in the background

Finish tasks in the background

Discover background execution advancements and understand how the system schedules runtime. We’ll discuss how to get the most out of background runtime to allow your app to deliver features in the background while maintaining a great foreground experience. We’ll also cover how APIs provide background runtime for your app, and how each API is tailored for different use cases — including new APIs in iOS and iPadOS 26 that let your app finish tasks as your app transitions from the foreground to the background.

What’s new in Apple Pay

What’s new in Apple Pay

Discover the latest improvements and new APIs in Apple Pay. You’ll discover enhancements to the Apple Pay eCommerce experience, like the new dynamic payment button, and learn how to take advantage of enhanced support for preauthorized payments. We’ll cover brand-new features coming to order tracking in Wallet, and recommendations to help your orders look their best. We’ll also dive into FinanceKit’s new background delivery APIs, allowing financial management apps to get the latest data, even when they’re not active.

Code-along: Elevate an app with Swift concurrency

Code-along: Elevate an app with Swift concurrency

Learn how to optimize your app’s user experience with Swift concurrency as we update an existing sample app. We’ll start with a main-actor app, then gradually introduce asynchronous code as we need to. We’ll use tasks to optimize code running on the main actor, and discover how to parallelize code by offloading work to the background. We’ll explore what data-race safety provides, and work through interpreting and fixing data-race safety errors. Finally, we’ll show how you can make the most out of structured concurrency in the context of an app.