Flutter/App Store Connect Warning: ITMS-90078 Missing Push Notification Entitlement

flutter (Illustration: Formosan Blue Magpie, which is a endemic species in Taiwan, flapping its wings. Image source: Wikipedia。)

Issue Description

Our team keep receiving an email from App Store Connect when we distribute a build into it with this subject “App Store Connect: Your app "{appName}" (Apple ID: {id} Version: {version} Build: {build}) has one or more issues”.



The content of the email is saying:

Dear Developer,

We identified one or more issues with a recent delivery for your app, 
"{appName}" {version} ({build}). Your delivery was successful, but you 
may wish to correct the following issues in your next delivery:

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.

After youve corrected the issues, you can upload a new binary to 
App Store Connect.

Best regards,

The App Store Team

Our app does not use the push notification function but Flutter is using the UIApplicationDelegate callback (source). The App Store Connect does not reject our app distribution (as long as we are not actually using push notification). It is a warning message. Some may just ignore this warning.

Solution

If you want to (kind of) resolve this warning, here is a workaround:

  1. Open the Flutter project (Runner) in XCode.
  2. Enable "Push Notifications" under Capabilities. (refer to the screenshot below)
  3. XCode will generate the “ios/Runner/Runner.entitlements” file.
  4. Done.
itms-90078-xcode

Buy Me a Coffee If you enjoy the solution, please feel free to buy me a cup of coffee ☕ :)

Reference

  • Content of “ios/Runner/Runner.entitlements” file (generated by XCode):
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>aps-environment</key>
	<string>development</string>
</dict>
</plist>
Loading comments…