Missing Push Notification Entitlement and my app doesn't include it - ios

Recently I've uploaded one app with push notification support successfully, and then i wanted to update other apps on the store that doesn't include push notification at all and i don't want to include this feature in it. and when i always submit it it says that :
Missing Push Notification Entitlement - Your app appears to include
API used to register with the Apple Push Notification service, but the
app signature's entitlements do not include the "aps-environment"
entitlement. If your app uses the Apple Push Notification service,
make sure your App ID is enabled for Push Notification in the
Provisioning Portal, and resubmit after signing your app with a
Distribution provisioning profile that includes the "aps-environment"
entitlement. See "Provisioning and Development" in the Local and Push
Notification Programming Guide for more information. If your app does
not use the Apple Push Notification service, no action is required.
You may remove the API from future submissions to stop this warning.
If you use a third-party framework, you may need to contact the
developer for information on removing the API.
I've no idea whats happening with Xcode and this issue is so confusing check this :

If your ad-hoc provisioning profile has the aps-environment key, that it means your app is configured correctly in the Apple Provisioning Portal. All you need to do is delete the App Store distribution profile on your local machine, then re-download and install the distribution profile from the Provisioning Portal. This new one should contain the aps-environment key.
Make sure you have removed aps-environment key from your profile in portal.

Please ensure that your code does not contain following methods:
- (void) application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
- (void) application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
And the method call to register for notification:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound];
If these methods are not there then please re-create distribution provisioning profile and re-build you application with it.

If you want to enable push notification in an app, you need to create fixed bundleID like: "com.appname.app" and provisioning profile for the same.
WildCard bundle id and provisioning profile will not work for Push notification as payload needs fixed address for delivery.
So please try with the fixed BundleID and provisioning profile.

You have probably introduced a 3rd party SDK that is ready for push notifications. That doesn't necessarily mean that you need to send push notifications. That's why it's only a warning and you shouldn't care.
Apple tells you about it just in case you really wanted to send push notifications.

Related

Missing Push Notification Entitlement aps-environment issue

I have been trying to upload my app to store but every time I have the issue:
Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in theProvisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the"aps-environment"entitlement. **Xcode 8** does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enablePush Notifications` in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see Configuring Remote Notification Support.
I always used same steps to upload my app but after I regenerate the Keys this began to happen. I already try:
create new Provision Profile, also renaming
uncheck/check Automatically Manage Signing
enable Push Notifications on Capabilities
reinstall Xcode cleaning all
regenerating all keys
Non of them seems to work.
Please, help me!

Xamarin IOS - Missing Push Notification Entitlement

I got this mail when publish app to TestFlight:
Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file.
I use Microsoft visual studio for mac. In entitlement.plist Push Notification is disabled and in Developer Apple Account / App IDs / Push notification it's disabled too. Example
I don't want to use push notification. What I need to do to not get this mail ?
Open entitlments plist, go to Source and Modify aps-environment to development
I wish to expand your understanding of this issue, iOS apps work in sandbox means each app have limited access to system resources, Entitlement requests additional capabilities like a push notification service.
Reference
if you want to use push notification, add this key aps-environment with value
development for development mode or production for production mode
if you dont want this capability just remove it.

Missing Push Notification Entitlement even if app does not contain push notification enabled

I have created an app which doesn't use Push notification. In the Capabilities section of the app target Push notification is OFF. The app ID, development and distribution provisioning profiles does not contain Push notification as enabled services. But still i receive below email from iTunes whenever i upload binary to iTunes
Missing Push Notification Entitlement - Your app appears to register
with the Apple Push Notification service, but the app signature's
entitlements do not include the "aps-environment" entitlement. If your
app uses the Apple Push Notification service, make sure your App ID is
enabled for Push Notification in the Provisioning Portal, and resubmit
after signing your app with a Distribution provisioning profile that
includes the "aps-environment" entitlement. Xcode 8 does not
automatically copy the aps-environment entitlement from provisioning
profiles at build time. This behavior is intentional. To use this
entitlement, either enable Push Notifications in the project editor's
Capabilities pane, or manually add the entitlement to your
entitlements file. For more information, see
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.
What could have been gone wrong.
This is the equivalent of a warning, not an error.
However, if you want to remove the warning message, you can simply set Push notification to ON (even though you do not use them), and you won't receive this email on your next build. This will generate an entitlements file.
However, the people in this forum seem to have gotten their apps approved despite the warning (as of September 10, 2015):
https://forums.developer.apple.com/thread/15880

My production ios app doesn't have push notifications working

I keep getting this error from apple for my production app.
"Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1."
I am unsure what error is occurring in my app. The app does not send push notifications when I am using the production app, but works in the development app. My provisioning profile has push enabled, i added it in Xcode, and I created a .p12 file in keychain access. What am I missing. From the tutorial above I can't figure out what step I didn't take. Please let me know.
Thank you
First of all, let me tell you exactly what that error is saying.
If your app uses the Apple Push Notification service, make sure your
App ID is enabled for Push Notification in the Provisioning Portal,
and resubmit after signing your app with a Distribution provisioning
profile that includes the "aps-environment" entitlement.
When you are going to use push-notifications, you should have an appID that has push notification capability enabled. In development portal you can check whether it's enabled or not. When you click on app ID you are using, It will show clearly what capabilities are enabled. It should be there for both staging and production environments. If you enable capability for the development environment and not for production it's not going to work. So make sure you are using an app ID that has push notifications enabled for both environments.
Now read the error statement again. So according to the error, it's saying it's not enabled for app ID. If you create distribution provisioning profile first and later if you enable the capability to app ID, it's not going to work. So If you update the capability in your app ID, now again create distribution certificate with the app ID selected. This is what from the error.
Even there will be lots of reasons for push notifications are not working for the production environment. When you are creating push notification certificate there also you need to create push notification for the production environment. Development APNS and production APNS are two different. So make sure you are using production push certificate only when firing remote notification.

Missing Push Notification Entitlement: While Resigining ipa

Team,
We are releasing new update to our project, In the last version we dont have Push Notifications now are implementing all the process.
We work for a client where we used to send ipa file with our distribution profile (Push notifications are working for the ipa we are sending).
Once we send the working ipa, they will resign the ipa with there Distribution Profiles and Upload to appstore.
We have checked all the scenarios like, App Id enabled with Push Notification,SSl generated for Distribution (Is it mandatory for developing for developer also?).
The Resigning is successfull and we are able to upload the app to App Store.
But still we are getting the Below mail from Apple. Please Suggest what is the Solution for it
Missing Push Notification Entitlement - Your app includes an API for
Apple's Push Notification service, but the aps-environment entitlement
is missing from the app's signature. To resolve this, make sure your
App ID is enabled for push notification in the Provisioning Portal.
Then, sign your app with a distribution provisioning profile that
includes the aps-environment entitlement. This will create the correct
signature, and you can resubmit your app. See "Provisioning and
Development" in the Local and Push Notification Programming Guide for
more information. If your app does not use the Apple Push Notification
service, no action is required. You may remove the API from future
submissions to stop this warning. If you use a third-party framework,
you may need to contact the developer for information on removing the
API.
You have to check if you have enabled push notifications in member
center for the provisioning profile that you are using
You have to check if you have enabled push notifications in xcode
capabilities
i.e
just check Entitlements.plist for the following key values
<key>aps-environment</key>
<string>production</string>

Resources