background-processing
Schedule and execute background work on iOS using BGTaskScheduler. Use when registering BGAppRefreshTask for short background fetches, BGProcessingTask for long-running maintenance, BGContinuedProcessingTask (iOS 26+) for foreground-started work that continues in background, background URLSession downloads, or background push notifications. Covers Info.plist configuration, expiration handling, task completion, and debugging with simulated launches.
npx skills add dpearson2699/swift-ios-skills --skill background-processing --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Background Processing Register, schedule, and execute background work on iOS using the BackgroundTasks framework, background URLSession, and background push notifications. ## Contents - [Info.plist Configuration](#infoplist-configuration) - [BGTaskScheduler Registration](#bgtaskscheduler-registration) - [BGAppRefreshTask Patterns](#bgapprefreshtask-patterns) - [BGProcessingTask Patterns](#bgprocessingtask-patterns) - [BGContinuedProcessingTask (iOS 26+)](#bgcontinuedprocessingtask-ios-26) - [Background URLSession Downloads](#background-urlsession-downloads) - [Background Push Triggers](#background-push-triggers) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Info.plist Configuration Every task identifier **must** be declared in `Info.plist` under `BGTaskSchedulerPermittedIdentifiers`, or `submit(_:)` throws `BGTaskScheduler.Error.Code.notPermitted`. ```xml <key>BGTaskSchedulerPermittedIdentifiers</key> <array> <string>com.example.app.refresh</string> <string>com.example.app.db-cleanup</string> <string>com.example.app.export.*</string> </array> ``` Also enable the required `UIBackgroundModes`: ```xml <key>UIBackgroundMo
- Contents
- Info.plist Configuration
- BGTaskScheduler Registration
- UIKit Registration
- SwiftUI Registration
- BGAppRefreshTask Patterns
- BGProcessingTask Patterns
- BGContinuedProcessingTask (iOS 26+)
- Background URLSession Downloads
- Background Push Triggers
- Common Mistakes
- 1. Missing Info.plist identifiers
- 2. Not calling setTaskCompleted(success:)
- 3. Ignoring the expiration handler
What does the background-processing skill do?
Schedule and execute background work on iOS using BGTaskScheduler. Use when registering BGAppRefreshTask for short background fetches, BGProcessingTask for long-running maintenance, BGContinuedProcessingTask (iOS 26+) for foreground-started work that continues in background, background URLSession downloads, or background push notifications. Covers Info.plist configuration, expiration handling, task completion, and debugging with simulated launches.
How do I install it?
Run `npx skills add dpearson2699/swift-ios-skills --skill background-processing --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From dpearson2699/swift-ios-skills, a repository with 963 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.