PC パソコン

How to Fix App Store Connect “Missing Push Notification Entitlement”

When you upload an app from Xcode to App Store Connect, you may see a warning or message saying “Missing Push Notification Entitlement.” This usually means App Store Connect detected code related to remote notifications, but the signed app does not contain the APNs entitlement required for push notifications.

Typical error message

Missing Push Notification Entitlement

The message may also explain that the app appears to use Apple Push Notification service (APNs), but the signed binary does not include the required aps-environment entitlement.

Main causes

  • The Push Notifications capability is missing from the app target in Xcode.
  • Push Notifications is not enabled for the App ID in the Apple Developer portal.
  • An old provisioning profile is still being used after enabling the capability.
  • Manual signing is using a provisioning profile that does not include the push entitlement.
  • Remote-notification registration code or a third-party SDK remains in the project even though push notifications are no longer intended.
  • A Notification Service Extension or another target has incomplete signing and capability settings.

Common situations where it appears

This warning commonly appears after adding Firebase Cloud Messaging or another push SDK, after enabling push notifications on an existing app, after changing the Bundle Identifier or signing setup, or after switching from automatic signing to manual signing.

How to check the configuration

1. Check the Push Notifications capability

In Xcode, select the app target and open “Signing & Capabilities.” If Push Notifications is missing, add it with “+ Capability.”

2. Check the entitlements

When push notifications are configured correctly, the signed app contains the APNs environment entitlement. A typical entitlement looks like this:

<key>aps-environment</key>
<string>development</string>

The value is determined by the provisioning profile. Distribution builds use the production environment. In normal projects, you should let Xcode and the provisioning profile manage this value instead of hard-coding it manually.

3. Inspect the entitlements in the signed app

codesign -d --entitlements :- /path/to/YourApp.app

Check whether the output contains aps-environment.

Fix 1: Add Push Notifications in Xcode

  1. Select your project in the Project Navigator.
  2. Select the app target.
  3. Open “Signing & Capabilities.”
  4. Click “+ Capability.”
  5. Add “Push Notifications.”

If you use automatic signing, Xcode normally updates the required signing configuration for the App ID and provisioning profile.

Fix 2: Enable Push Notifications for the App ID

Open “Certificates, Identifiers & Profiles” in the Apple Developer account, select the App ID, and confirm that Push Notifications is enabled. Changing a capability on an App ID can invalidate existing provisioning profiles.

Fix 3: Regenerate the provisioning profile

If you use manual signing, create a new provisioning profile after enabling Push Notifications and select the new profile in Xcode. An older profile may not contain the aps-environment entitlement.

Fix 4: Refresh automatic signing

Confirm that “Automatically manage signing” is enabled as intended and verify the selected Team and Bundle Identifier. Then clean the build folder and create a new Archive.

Fix 5: Remove unused push-notification code

If your app does not actually use remote notifications, check whether notification registration code or an SDK is still present.

UIApplication.shared.registerForRemoteNotifications()

Code like this, or an SDK that registers for remote notifications internally, can cause App Store Connect to treat the app as using push-related functionality.

If you use a Notification Service Extension

Check the Signing & Capabilities settings for the extension target as well as the main app. Each target needs consistent Team, Bundle Identifier, signing, and provisioning settings.

Important notes

After changing capabilities for an App ID, regenerate or refresh any affected provisioning profiles. Apple’s current developer documentation notes that modifying App ID capabilities can invalidate existing provisioning profiles.

APNs server authentication can use either certificates or token-based authentication, but the app target still needs the correct Push Notifications capability and entitlement.

Summary

“Missing Push Notification Entitlement” means the app’s push-notification usage and its signing entitlements do not match. Start by enabling Push Notifications in Xcode, then verify the App ID, provisioning profile, and the aps-environment entitlement inside the signed app. In many cases, refreshing or regenerating the provisioning profile after enabling the capability resolves the issue.