Recently my application got rejected while uploading it. The Apple review team says my app is \"Missing Push Notification Entitlements\"
This is the information they
Steps
Enable Push Notification Service (Production Push SSL Certificate)
Create/Recreate Distribution Provisioning Profile and build your application with updated Distribution Provisioning Profile.
The following resources may help you
Open your Provisioning Profile in any Text Editor and search for "environment".
You should find: aps-environment
If you don't see aps-environment
in your provisioning profile, there is an issue in your Apple provisioning certificate.
If you created a certificate without push notifications, and then later on you added Push Notification service, Apple DOESN'T update your provisioning profile.
You need to create a NEW provisioning profile. Sign the binary with this new Provisioning Profile and you would be good to go.
I had the same problem and I fixed it by recreating the provisioning profile. From "Provisioning and Development" in the Local and Push Notification Guide:
The Team Admin or Team Agent must next create the provisioning profile (Development or Distribution) used in the server side of remote-notification development. The provisioning profile is a collection of assets that associates developers of an application and their devices with an authorized development team and enables those devices to be used for testing. The profile contains certificates, device identifiers, the application’s bundle ID, and all entitlements, including . All team members must install the provisioning profile on the devices on which they will run and test application code.
I have same problem. I have solved it.
I think this problem causes when adding push-notification-function into AppID and no recreating Provisioning. We will receive a warning when adding iCloud-function:
All new provisioning profiles you create for this App ID will be enabled for iCloud. If you wish to enable iCloud for any existing provisioning profiles associated with this App ID, you must manually regenerate them
I think when we add some function in AppID, we should manually regenerate all provisionings which are related to that AppID.
I think so