Flutter iOS app submission issue warning: Missing Push Notification Entitlement - ios

After uploading a Flutter app to App Store Connect, I got the following email warning:
Dear Developer,
We identified one or more issues with a recent delivery for your app,
"[APP NAME]". Your delivery was successful, but you may wish to correct
the following issues in your next delivery:
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 you’ve corrected the issues, you can use Xcode or Application
Loader to upload a new binary to App Store Connect.
Best regards,
The App Store Team
I don't use push notifications in my app? Why am I getting this warning? And how do I remove the "aps-environment" entitlement, wherever and whatever that is?
Note: This App Store issue has appeared multiple times on SO, sometimes because people needed to add push notifications (see this and this) and sometimes because they didn't (see this and this). This appears to be Flutter related in my case, though, so I am adding a new question.

Word on the street is that as long as you really don't use push notifications this will not cause your app to get rejected. So you can safely (?) ignore this warning and continue to submit your app.
This issue was described on GitHub here, and a solution is being discussed here. It's apparently somehow related to Flutter using the UIApplicationDelegate callback:
- (void)application:(UIApplication*)application
didReceiveRemoteNotification:(NSDictionary*)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
I'll let someone else explain the exact reason more clearly. Keep an eye on the GitHub issue.
For now I am just going to ignore the warning.
Update: I submitted my app, it was accepted, and there hasn't been any problem with it since then. So just ignore the warning.

As of today this problem is still not fixed in Flutter.
See the Issue 9984.
While this should not cause any rejects in the App Store it still needs to be fixed and there seems to be a workaround for this (also described in the issue above):
Add a file Runner.entitlements under ios/Runner/Runner.entitlements with this content:
<?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>

My app does use push notifications so I wanted to make sure this was working. I found this post very helpful: Flutter/App Store Connect Warning: ITMS-90078 Missing Push Notification Entitlement
Open the Flutter project (Runner) in XCode.
Under Signing & Capabilities, press '+Capability' and scroll down to find Push Notifications.
XCode will generate the “ios/Runner/Runner.entitlements” file.
Done. My build appeared on next attempt.

Related

ITMS-90078: Missing Push Notification Entitlement

I created and submitted my iOS app to App Store Connect. But after submitting the build I got this email
We identified one or more issues with a recent delivery for your app, "HIITimer Interval Workout" 1.0.1 (1). 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/con ... 94-CH6-SW1.
After you’ve corrected the issues, you can upload a new binary to App Store Connect.
When I tried to research this problem on forums etc. I see some people have said it's just a warning that can be ignored but on the App Store Connect website it says "Invalid Binary" in red. I tried to click "Submit for Review" again but I got the same email. Is there any chance it's going to get sent through if I don't do anything?
On the developer.apple.com end in the Identifier for my app's Capabilities I unticked Push notifications and created a new distribution provisioning profile and resubmitted but this did not fix it.
In the Standalone App Settings for LC, I do not see any options for Push Notifications. And I don't think I've created any in my app.
Mac Catalina Version 10.15.3.
iPhone X IOS 13.3.1
LiveCode 9.6.0 (dp3)
Xcode 10.1 & 11.3 placed in the iOS SDKs
We just released a version that contains the fix. Please upgrade and re-link the RN sdk
react-native unlink react-native-flurry-sdk && react-native link react-native-flurry-sdk
and type n while being asked if you need to integrate Flurry Push. This will guarantee that push related code won't be linked to your project. Please let me know if the problem still occurs. Thank you very much for your feedback!

ITMS-90078: Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service

I am getting this warn message error from apple store after uploading my app to app store connect.
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 "apps-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.
I have coded an ionic app, And I am trying to generate an ios version of my App with push notification.
I have created both .p12 files and I have activated push notification in apple developer and in Xcode.in capabilities. Then I have redownloaded the provisioning profile and opened it with Xcode. First I've had a red warning in 'Add the push notifications feature to your App ID'.But this problem was fixed when I restarted Xcode and Xcode detect that everything is fine.
I have generated two versions of my app the first with automatically managing signing and the other one with manual manage signing just in case that maybe Xcode wasn't able to detect my new provisioning profile but in both cases, I've got the message above.
How can I make this work? and How can I check if my app version has this app's signature entitlment.Any help please ?
Add the below code in the info.plist
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
</array>

Missing push notification entitlement, false positive for app

Please read this question completely without marking it as duplicate , I am now working on an app not using any API for Apple Push Notification.
And as far as testing goes, it works fine, but Apple keeps emailing me the message below.
I have read on the net, and done as much as I can to avoid this.
All i found on the internet having solution for this kind of problem for those who enables push notification but not a single solution for this false positive case.
My App ID is even not enabled for Push Notification, regenerating my Provisioning Profile (a number of times), with manual signing and …. But it keeps coming whatever I do. Am I missing some point?
I've searched my app code for registerForRemoteNotifications and so far as I can tell I never attempt to register for push notifications.
Mail from Apple :-
We identified one or more issues with a recent delivery for your app, "myAPP". Your delivery was successful, but you may wish to correct the following issues in your next delivery:
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 8 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 you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
any help is appreciated, this is rally important for me to fix this warning.
I have read on the net, and done as much as I can to avoid this.
All i found on the internet having solution for this kind of problem for those who enables push notification but not a single solution for this false positive case. i will be grateful for those with logical explanation to this issue.
this is a warning by apple that you have enable push notification for particular App in your developer console .
But you have not enabled the push notification in your application
Please go to your app target and enable this in capabilities and then try to upload
Disable Push notfication
Go to your Developer account
Click on the app id for which you want to disable it
then press edit
and deselect the push notification in panel
and save
Then you have to again create new production certificates and upload the application.
Hope it helps
Happened to me as well.
I just cleaned the build Command + Option + Shift + K and tried again, and it worked.
Sometimes you have to unselect and select your provisioning profiles in Xcode to make it work. I don't know why.
It is a pain trying different options out, as the process takes quite a bit of time.

Missing Push Notification Entitlement: While Resigining ipa

Team,
We are releasing new update to our project, In the last version we dont have Push Notifications now are implementing all the process.
We work for a client where we used to send ipa file with our distribution profile (Push notifications are working for the ipa we are sending).
Once we send the working ipa, they will resign the ipa with there Distribution Profiles and Upload to appstore.
We have checked all the scenarios like, App Id enabled with Push Notification,SSl generated for Distribution (Is it mandatory for developing for developer also?).
The Resigning is successfull and we are able to upload the app to App Store.
But still we are getting the Below mail from Apple. Please Suggest what is the Solution for it
Missing Push Notification Entitlement - Your app includes an API for
Apple's Push Notification service, but the aps-environment entitlement
is missing from the app's signature. To resolve this, make sure your
App ID is enabled for push notification in the Provisioning Portal.
Then, sign your app with a distribution provisioning profile that
includes the aps-environment entitlement. This will create the correct
signature, and you can resubmit your app. See "Provisioning and
Development" in the Local and Push Notification Programming Guide for
more information. If your app does not use the Apple Push Notification
service, no action is required. You may remove the API from future
submissions to stop this warning. If you use a third-party framework,
you may need to contact the developer for information on removing the
API.
You have to check if you have enabled push notifications in member
center for the provisioning profile that you are using
You have to check if you have enabled push notifications in xcode
capabilities
i.e
just check Entitlements.plist for the following key values
<key>aps-environment</key>
<string>production</string>

iOS - Missing Push Notification Entitlement

Apple keeps sending me this mails, when I try to upload my app to TestFlight
Missing Push Notification Entitlement - Your app appears to include API used 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. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.
I am trying to use Push Notifications.
My App ID looks like this.
My Provisioning profile is set up to use that App ID.
So what could I have done wrong?
And how can I check, if XCode is using the right Provisioning profile?
EDIT I am using Xamarin Studio, so I have to set the profile correctly in XCode
Get a developer build
Get your developer to give you the .IPA file that is signed using their normal “iPhone Developer” key. They do this all the time to test the app on physical devices they own
Get your tools in order
You will need the following:
A “Mobile Provisioning Profile”
An “Entitlements.plist”
An “iOS Distribution Certificate”
iReSign OS X app (or you could use command line)
1. Mobile Provisioning Profile
Download (or create then download) this from the “iOS Provisioning Profiles”inside of Apple Developer Members Center.
2. Entitlements Plist
You will actually need to make this yourself. You will need two values to make the strings required. You need the App ID Prefix and the Bundle ID. You can find them in Members Center “Certificates, Identifiers & Profiles”
Open your favorite text/code editor and drop this in. Then update the two values in the following code and save it as “entitlements.plist”.
<?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>
<key>get-task-allow</key>
<false/>
</dict>
</plist>
If you are NOT using Push Notifications, you need to remove the two lines:
<key>aps-environment</key>
<string>production</string>
3. iOS Distribution Certificate
You should have this installed already. If not, you can get it installed via Xcode or Member Center.
Xcode > Preferences > Accounts
Find or add your Apple ID and click “View Details”
”+” “iOS Distribution” (or iOS Development) and then Refresh (bottom left)
Have you tried explicitly setting the Provisioning Profile that you want Xcode to use?
Instead of having "XC:*" there, specify the exact provisioning profile that you want Xcode to use when signing your build for App Store upload.

Resources