Add capabilities to configure app services provided by Apple, such as push notifications, or Apple Pay.
A capability grants your app access to an app service provided by Apple, such as CloudKit, Game Center, or In-App Purchase. To use some app services, you must provision your app, adding a capability with Xcode's project editor that configures the app service correctly for you. Xcode edits the Entitlements and Information Property List files, adds related frameworks, and configures your signing assets.
However, some app services—such as Game Center and In-App Purchase—require additional configuration in App Store Connect and your developer account. For example, you need to upload a geographic coverage file using App Store Connect for an app that uses Maps to provide directions for other apps.
The platform, and whether you're a member of the Apple Developer Program, may limit the capabilities available to your app. For the supported capabilities, go to the Reference section of Developer Account Help—for example, go to Supported capabilities (iOS) for the capabilities available to iOS apps.
Before you begin, add your Apple ID account and assign the project to a team so that Xcode can provision your app. For iOS, tvOS, and watchOS apps, run your app on a device to register a device and create a development provisioning profile.
Add a Capability
You add capabilities to your app using the Signing & Capabilities pane of the project editor.
In the Project navigator of the main window, select the project (the root group with the same name as your app), and in the project editor that appears on the right, select the target. Choose the target for the app from either the Project/Targets pop-up menu or in the Targets section of the outline view. Then click the Signing & Capabilities tab in the project editor.
Optionally, select a build configuration (All, Debug, or Release). For example, if you want to add the capability to the Debug configuration only, select Debug; otherwise, select All.
In the toolbar, click the Library button (+) to open the Capabilities library (alternatively, click + Capability to the left of the build configurations, or choose Editor > Add Capability). The Capabilities library displays only the capabilities available to the target platform and your program membership.
To see a description of each capability, click the Show Details button in the upper-right corner of the library. Select a capability on the left to read a description on the right.
To add a capability to the app target, double-click the capability in the library or drag the capability from the library to the Signing & Capabilities pane. The capability appears below the Signing section. If there are more configuration steps, the capability expands to show additional controls (see Perform Additional Configuration Steps). To remove a capability, click the X button in the upper-right corner of the capability in the Signing & Capabilities pane.
If errors appear in the Signing section, read the message, correct the problem, then click Try Again. For example, the bundle ID (
CFBundle) that appears in the Bundle Identifier field under Signing needs to be unique. The default value for the bundle ID is the organization identifier concatenated with the app name that you entered when creating the project.
Perform Additional Configuration Steps
For some capabilities, you may need to perform additional configuration steps in Xcode, your developer account, or App Store Connect. For other capabilities, you may need to write some code.
For more guidance on specific capabilities, see the table below.
Sign In with Apple