After the build the .ipa file does not contain it in entitlements and when submitting to appstore we get warning:
ITMS-90078: 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.
Checked with following plugins:
pushwoosh-phonegap-plugin @havesource/cordova-plugin-push
This wasn’t a case few weeks ago. Could that be related to some build configuration on your end, because when I do build locally it works fine and all entitlements are there.
I’ve used the same cert and provision profile as before (when it worked). I have also regenerated them and see that required entitlement present in provision profile, but for some reason it’s missing in .ipa after building.
When I do local build with same cert and provision profile using Xcode 14 everything is fine.
We are using @havesource/cordova-plugin-push plugin which is based on Firebase.
I have submitted it again using jurijs.pasedko@zalaris.com, but we are using Neptune Software as vendor so I guess it is submitted on behalf of Neptune Software somehow.
I wonder if it is caused by an interaction with another plugin. Your project has 22 plugins - could you try building without as many other plugins as possible? If the problem goes away, there might be a conflict.
I have removed all plugins except one for push notifications and did rebuild. Same result. The issue must be somewhere else. I think it’s something related to build parameters where it does not copy entitlements or even uses different file for entitlements.
Usually I can see in the logs which entitlement the app has (well it was like that before Xcode 14). Now there is nothing about entitlements in the logs.
I have already tried regenerating certificates/profiles and it does not solve the issue for me. I don’t have any error during build process and Apple also accepts the build but issues a warning about missing entitlement required for push notifications to work. In my case app entitlements missing aps-environment key set to production.
You can check entitlements unzipping the .ipa file and using command:
I found this article on the Apple Developer Site. It basically says, “Don’t worry!”
The app validator checks for an implementation of the UIApplicationDelegate method application:didRegisterForRemoteNotificationsWithDeviceToken: in the app. You’ll get the warning you described if your app delegate implements that method and there is no aps-environment entitlement.
It’s possible that a third-party library you’re using has implemented that method even though your app doesn’t do anything with push notifications. In that case you can just ignore the warning. It’s there to let developers who do use push notifications know that they might have signed their app incorrectly.
The only way to eliminate the warning without configuring your project to use Push Notifications is to remove all push notification code from your app, whether yours or a third party’s.