## Set Entitlements

Using Amazon Pinpoint with APNs requires the following capabilities
- Push Notifications
- Background Processing -> Remote Notifications (**iOS/tvOS/watchOS**)
- App Sandbox -> Outgoing Connections (**macOS only**)

To add these capabilities:

<BlockSwitcher>
<Block name="iOS/tvOS/watchOS">

import iosSetEntitlements from '/src/fragments/lib/push-notifications/ios/getting_started/ios-set-entitlements.mdx';

<Fragments fragments={{ ios: iosSetEntitlements }} />

</Block>
<Block name="macOS">

1. Open your Xcode project, go to project settings, select your main application target, select the **Signing and Capabilities** tab, and click **+ Capability** in the upper left corner of the editor pane to bring up the Capabilities dialog.

![Add capability](/images/push-notifications/xcode-entitlements/01_add-capability.png)

<Callout>

Xcode can be a little finicky with this step. If the Capabilities dialog is empty, try switching to a different tab and then switching back to **Signing and Capabilities**

</Callout>

2. Type **push** in the filter box and double-click **Push Notifications** to add the capability.

![Add push](/images/push-notifications/xcode-entitlements/02_add-push.png)

3. Repeat step 1 to open the Capabilities dialog and then type **sand** in the filter box and double-click **App Sandbox** to add the capability.

![App sandbox](/images/push-notifications/xcode-entitlements/05_app-sandbox.png)

4. Under **App Sandbox**, select **Outgoing Connections (Client)**

![Outgoing connections](/images/push-notifications/xcode-entitlements/06_app-sandbox-outgoing-connections.png)

</Block>
</BlockSwitcher>