<!--
{
  "documentType" : "article",
  "framework" : "Xcode",
  "identifier" : "/documentation/Xcode/configuring-family-controls",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "Configuring Family Controls"
}
-->

# Configuring Family Controls

Add the Family Controls entitlement to enable parental control features in your app and its Screen Time API app extensions.

## Overview

The Family Controls framework enables your app to use Screen Time API app extensions
to implement parental controls through the Managed Settings and Device Activity
frameworks. For more information on the Screen Time APIs, see <doc://com.apple.documentation/documentation/ScreenTimeAPIDocumentation>.

To enable the Family Controls functionality, add the capability to your target.
Xcode automatically updates your app target’s entitlements file to include the
`com.apple.developer.family-controls` entitlement key set to `true`, and you can
access the entitlement through the Apple Developer Program during development.
Configure it for the App ID of your app and its Screen Time API app extensions
under the Capabilities tab in [Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/identifiers/list).

### Add the Family Controls capability to your target

To add the capability to your app’s target, follow the steps in the [Add a capability](/documentation/Xcode/adding-capabilities-to-your-app#Add-a-capability)
section of [Adding capabilities to your app](/documentation/Xcode/adding-capabilities-to-your-app), then select Family Controls from
Xcode’s Capabilities library. If you add a new target in your Xcode project using
a Screen Time API extension template such as Device Activity Monitor, Device
Activity Report, Shield Action, or Shield Configuration, Xcode enables Family Controls
automatically. This capability is available on iOS and visionOS.
![A screenshot of Xcode’s Capabilities library with a list of available capabilities on the left and an information pane on the right. The list shows a range of capabilities from Family Controls (Development) to Group Activities. The Family Controls (Development) capability is in a selected state. The text on the information pane explains that this capability enables your app for parental controls, granting access to the Managed Settings and Device Activity frameworks in the Screen Time API.](images/com.apple.Xcode/configuring-family-controls-01@2x.png)

If you remove the Family Controls capability in Xcode, disable this capability
for your app’s App ID in Certificates, Identifiers & Profiles, [regenerate your provisioning profile](https://developer.apple.com/help/account/provisioning-profiles/edit-download-or-delete-profiles#regenerate-a-provisioning-profile), and re-sign your app with this profile.

### Add the Family Controls entitlement key

When you add the Family Controls capability, Xcode automatically updates your app
target’s entitlements file to include the `com.apple.developer.family-controls`
entitlement key set to `true`:

```
<plist>
    <dict>
        <key>com.apple.developer.family-controls</key>
        <true/>
    </dict>
</plist>
```

If your app target doesn’t include an entitlements file, remove then re-add the Family Controls capability.

### Update your provisioning profile

After you add the Family Controls capability to your app’s target in Xcode,
generate a provisioning profile, and re-sign your app with the profile. Use
automatic signing to let Xcode manage signing for you. If you use automatic
signing, Xcode automatically enables Family Controls for your app’s App ID in
[Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/identifiers/list)
and requests a new provisioning profile for your app. For more information, see [Edit, download, or delete provisioning profiles](https://developer.apple.com/help/account/provisioning-profiles/edit-download-or-delete-profiles).

If you manually sign your app, enable the Family Controls capability for your
app’s App ID in [Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/identifiers/list),
then [regenerate your provisioning profile](https://developer.apple.com/help/account/provisioning-profiles/edit-download-or-delete-profiles#regenerate-a-provisioning-profile).
For more information, see [Enable app capabilities](https://developer.apple.com/help/account/identifiers/enable-app-capabilities).
After you regenerate the profile, download it or select Download Profile from
the Provisioning Profile dropdown menu in Xcode to install it. For more information, see [Distributing your app to registered devices](/documentation/Xcode/distributing-your-app-to-registered-devices).

If your app includes a Screen Time API extension, use the same steps to update the provisioning profile of the extension.

### Request the Family Controls entitlement

To distribute your app, you need an entitlement that enables distribution. When
you submit your app to TestFlight and the App Store, request permission to use
the <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.family-controls> entitlement.
This entitlement supports provisioning profiles for development, Ad Hoc, and App
Store distribution. If your app includes a Screen Time API app extension, submit
the same request for the extension.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)