Ionic Package: iOS Release Package - Missing aps-environment Entitlement


I’ve been wrapping my head about this “easy” problem for a few days now, with no luck really.
For an App I am using Push Notifications, which work fine on the Android version.

Since my MacBook here is really sluggish and slow I make use of Ionic Cloud Package to build the iOS Package files, which works like a charm!

I submitted the App to the Apple Store recently and while uploading it I got a warning mail about “Missing aps-environment Entitlement” for Push Notifications. Did some research and figured out that there’s an Entitlement file for iOS, which Cordova seems to create already, but for some reason it seems to get ignored.

On the Apple Developer Website I created the needed Production Certificates and a Distribution Provision Profile with Push Notifications enabled, uploaded those to Ionic Cloud and built it via the CLI.
I even gone ahead and tried setting up the configuration stuff via XCode and then copy the whole project back to my main Computer and then build it, no luck either.

Maybe this is an issue with Cordova or Ionic Package? Maybe I still do something wrong? I don’t know really. I’d really appreciate if anyone here could guide me on how to successfully include the aps-environment Entitlement, so it gets into the release ipa package when I build it on the Cloud. Thanks!

TL;DR iOS Push Notifications not working because “aps-environment” Entitlement missing; Using Ionic Cloud Package to build Release ipa

So you didn’t test the iOS app before uploading to Apple? (Just making sure I understand)

You should definitely do that and make sure that push is working with a development certificate. There are lots of things that can go wrong…

If you have a problem with Ionic Package:
(Scroll down to “Business and Customer Support”)

How did you implement push in your app? What push provider are you using?


I’m using Firebase for Push and @ionic-native/push / phonegap-plugin-push for implementing it.
I initialize the Push stuff in the app component, and as I stated it works perfectly fine with Android.

Testing… yea, I’d love to properly do that, just it’s a bit awful with that here at work, since I have no actual iPhone to test with. (We normally don’t really do any app development, it’s more like an intern project for me.)

From the ios.json file in the platforms/ios/ project folder I can see that it includes a few lines like:

         "*-Release.plist": {
                "parents": {
                    "aps-environment": [{
                        "xml": "<string>production</string>",
                        "count": 1

I also gone ahead and tried to add another section pointing to the .entitlements file directly, didn’t do anything either.

Just a tiny idea on my side here: Would it do anything to add any Entitlement stuff to the CordovaLib project in XCode?

Anyways, any insights on what I might do wrong would be appreciated. Next thing I’m trying is to try and use XCode for compiling the app on this MacBook. Might take ages, because it’s slow as heck. (2015 MacBook Air with 2GB of RAM)

Hi duke1102 did you solve this problem?