Missing "aps-environment" Entitlement

I’ve been pushing to the App Store, for the most part everything works fine; except I get a nasty-gram from Apple saying that…

“Your app appears to register with Apple Push Notification service, but the app signature’s entitlements do not include the ‘aps-environment’ entitlement”…

  1. I’ve configured the Apple side of things by creating SSL certificates and enabling my app for push notifications.

  1. I’ve downloaded the new mobile provision for my app (that now includes the push notifications enabled).

  2. I’ve imported the new mobile provisions using XCode ==> Preferences ==> Accounts

  3. I’ve imported the new mobile provisions using Unreal ==> Project Settings ==> iOS ==> Import Provision

Things build fine, upload to “store” (where I can run it using TestFlight). But the nasty-gram persists… and I’m anticipating being rejected from the app store upon submission.

I’m building a project which has a mix of C++ and Blueprints, on a Mac with XCode. And for the Mac, I’m building with full Unreal source.

Question: How can I add the ‘aps-environment’ entitlement to my app?

  1. I’ve tried updating “IOS/Intermediate/MyApp.entitlements” but the Unreal builder regenerates this file; overwriting my changes.

  2. I’ve also tried including “bSupportsPushNotifications=True” in “Config/IOS/IOSEngine.ini”

I must be missing something, but docs are hard to find re push notifications for Unreal.
Please help! This is a major blocker!

1 Like

Hi Jason ,

Make sure you are completely deleting the old Certs and Provisions that were created before including Push Notifications by deleting them from your KeyChain. I recommend doing a search and making sure they are completely deleted from your system, including deleting your new Certs and Provisions that include Push Notifications.

Once you are sure all remnants of the old Certs and Provisions are removed, re-download the Certs and Provisions that you generated after configuring the app ID for push. Let me know if this does not resolve your issue.

.

I’m also getting the same problem. I even tried 's method above, cleaning everything, still not working. I even copied IOSengine.ini into project/config/IOS folder, added bSupportsPushNotifications=True. still not working. Does anyone have any solution?

I hadn’t tried 's method… only because I hacked at it a bit and got it working before this answer.
Here’s what I did…

There’s a file that’s generated sometime early on during your project (not every build)…
Intermediate/ProjectFilesIOS/build/YourApp.build/ShippingIphoneOS/YourAppBuild/YourApp.app.xcent

In there, there is some XML-ish key/value pairs. I added…

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

Save, and re-package your project. Apple stopped complaining for me.

I think the “correct” way is to hunt a little more and find out where/when the file that was generated omitted this setting. So, I wouldn’t use this as a permanent solution. But it should unblock you for now.

Hi ,

I received the same message from Apple for my submission just now.

I am using 4.13.2.
(I can’t upload to a later version because I need to support iOS7.0 for the current release).

Is there an official solution to this Missing “aps-environment” Entitlement issue?

“Make sure you are completely deleting the old Certs and Provisions that were created before including Push Notifications by deleting them from your KeyChain.”

I started my project in 4.12.

When were iOS push notifications added to UE4?

If it was before 4.12 then I don’t think the ‘delete old provisions/certs’ exercise will make a difference.

Cheers.