Missing push notification entitlement while publishing iOS app with Appollo

I tried to publish my app to the app store with [appollo](https://github.com/Appollo-CLI/Appollo) but it failed. I got an e-mail from Apple with the following error message :

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. 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 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.

The logs on Appollo seem to be fine :

----- Building IPA with Flutter -----
Archiving be.test.wollo...
Updating project for Xcode compatibility.
Upgrading project.pbxproj
Upgrading Runner.xcscheme
Upgrading Info.plist
Automatically signing iOS for device deployment using specified development team in Xcode project: 9M5TAN4D63
Running pod install...                                             66.0s
Running Xcode build...                                          
Xcode archive done.                                         165.6s
Built /Users/appollo/Documents/app/build/ios/archive/Runner.xcarchive.

💪 Building with sound null safety 💪

Building App Store IPA...                                          19.7s
Built IPA to /Users/appollo/Documents/app/build/ios/ipa.
To upload to the App Store either:
    1. Drag and drop the "build/ios/ipa/*.ipa" bundle into the Apple Transport macOS app https://apps.apple.com/us/app/transporter/id1450874784
    2. Run "xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa --apiKey your_api_key --apiIssuer your_issuer_id".
       See "man altool" for details about how to authenticate with the App Store Connect API key.
----- Compressing output -----
----- Retrieving .ipa file name -----
----- Creating private key folder -----
----- Converting private key format -----
----- Retrieving .ipa file name -----
----- IPA Publication -----
No errors uploading 'Documents/app/build/ios/ipa/app.ipa'
Build stop order received at 2022-09-05 16:25:48.694329+00:00
----- Git patch creation -----
 Appollo patch
 6 files changed, 19 insertions(+), 14 deletions(-)
 create mode 120000 linux/flutter/ephemeral/.plugin_symlinks/flutter_secure_storage_linux
 create mode 120000 linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux
 create mode 120000 linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux
----- Compressing output -----

I don’t really know how to get this working.

>Solution :

tl;dr; As long as the application does not use push notification, the warning can be ignored.

It seems to be a problem with Flutter and not Appollo.

Problem description: Flutter iOS app submission issue warning: Missing Push Notification Entitlement

Issue on the Flutter official repo: https://github.com/flutter/flutter/issues/14182

Potential solution: https://github.com/flutter/flutter/issues/9984

Leave a Reply