Skip to content

[🐛] IOS store submission warning for ITMS-90078: Missing Push Notification Entitlement after upgraded to Expo 51 #7896

Description

@lamhong-playon

Issue

Hi all, I just received a warning regarding the Apple ITMS-90078: Missing Push Notification Entitlement after upgraded to Expo 51. Warning 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.

Since Expo SDK 51, the Notifications entitlement is no longer automatically added to iOS projects during prebuild. It was automatically added before with the following configuration:

{
  "expo": {
    "ios": {
      "entitlements": {
        "aps-environment": "development"
      }
    }
  }
}

I have checked, and our app's features do not use any Push Notification service at this time. I followed this post on Stack Overflow here https://stackoverflow.com/questions/32251123/missing-push-notification-entitlement to find the libraries using the Push Notification service and discovered that our FirebaseAuth library is implementing Notification for Phone Number auth, but we are not using that feature for now.
Screenshot_2024-07-08_at_10.webp
Notes:

This issue has not been rejected by the App Store, but I would like to find a solution to prevent it from happening. Some possible solutions are listed below:

  1. Do you have any way to disable that feature in react-native-firebase/auth? It seems that the App Store review tool is scanning the iOS code and detecting that implementation.
  2. Disable the Push Notification service in Apple Developer for our iOS app.
  3. Add a development profile for Notifications entitlement:
{
  "expo": {
    "ios": {
      "entitlements": {
        "aps-environment": "development"
      }
    }
  }
}

Can you please help to resolve or provide any suggestions for this issue? I would like to ensure that the solution does not impact our users now and that there are no issues when I support the push notification service in the future.
Thank you,


Project Files

Javascript

Click To Expand

package.json:

# N/A

firebase.json for react-native-firebase v6:

# N/A

iOS

Click To Expand

ios/Podfile:

  • I'm not using Pods
  • I'm using Pods and my Podfile looks like:
# N/A

AppDelegate.m:

// N/A


Android

Click To Expand

Have you converted to AndroidX?

  • my application is an AndroidX application?
  • I am using android/gradle.settings jetifier=true for Android compatibility?
  • I am using the NPM package jetifier for react-native compatibility?

android/build.gradle:

// N/A

android/app/build.gradle:

// N/A

android/settings.gradle:

// N/A

MainApplication.java:

// N/A

AndroidManifest.xml:

<!-- N/A -->


Environment

Click To Expand

react-native info output:

 OUTPUT GOES HERE
  • Platform that you're experiencing the issue on:
    • iOS
    • Android
    • iOS but have not tested behavior on Android
    • Android but have not tested behavior on iOS
    • Both
  • react-native-firebase version you're using that has this issue:
    • e.g. 5.4.3
  • Firebase module(s) you're using that has the issue:
    • e.g. Instance ID
  • Are you using TypeScript?
    • Y/N & VERSION


Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions