---
title: Configuring background execution modes
framework: xcode
role: article
role_heading: Article
path: xcode/configuring-background-execution-modes
---

# Configuring background execution modes

Indicate the background services your app requires to continue executing in the background in iOS, iPadOS, tvOS, visionOS, and watchOS.

## Overview

Overview Typically, an app is in a suspended state when it’s in the background. However, there are a limited number of background execution modes your app can support that enable it to run when in the background, such as playing audio, receiving location updates, or processing scheduled tasks. For apps that adopt one or more of these modes, the system launches or resumes the app, in the background, and affords it time to process any related events. Use background execution modes sparingly because overuse can negatively impact device performance and battery life. If an alternative to executing in the background exists, use the alternative instead. For example, apps can use the significant-change location service to receive location events as an alternative to using the Location updates background mode. Before you can select the background execution modes your app requires, follow the steps in Add a capability to add the Background Modes capability to your app’s target.

The background execution modes that appear after you add the capability depend on the target’s platform. For watchOS apps with separate WatchKit extensions, you need to add the capability to the WatchKit Extension target. note: The Background Modes capability isn’t available for macOS apps. Specify the background modes your app requires Before your app can leverage one or more background execution modes, you need to declare the modes it requires by performing the following: Select your project in Xcode’s Project navigator. Select the app’s target in the Targets list. Click the Signing & Capabilities tab in the project editor. Find the Background Modes capability. Select one or more background execution modes using the corresponding checkboxes. For watchOS apps, choose the appropriate session type from the pop-up menu. For more information, see Using extended runtime sessions.

Xcode adds the UIBackgroundModes array to your app’s Info.plist file, if it isn’t already present, and uses the modes you select to populate the array with the necessary values. Apple’s platforms support these background execution modes:  |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |   |  |  |

## See Also

### App execution

- [Configuring custom fonts](xcode/configuring-custom-fonts.md)
- [Configuring game controllers](xcode/configuring-game-controllers.md)
- [Configuring Maps support](xcode/configuring-maps-support.md)
- [Configuring Siri support](xcode/configuring-siri-support.md)
