DEV Community

Cover image for Publishing your Expo Standalone App with push notifications into the App Store. The easy way... šŸ˜…
Nahue
Nahue

Posted on • Originally published at nahuelhds.dev on

Publishing your Expo Standalone App with push notifications into the App Store. The easy way... šŸ˜…

Letā€™s do a simple check.

  • Did you receive a undetermined status from the push notifications permission? āœ…
  • Did you receive an email saying something about ITMS-90078: Missing Push Notification Entitlement after delivering your app through the Application Loader? āœ…

Making the push notifications work šŸ“±

It took my two days and several hours to find outā€¦ šŸ˜”

The answers are on several Github issues and some threads in the Expo forums. Iā€™m just gathering some of the info together. Basically you need to do two things.

  1. Enable push notification for your app identifier. ā˜ļø
  2. Rebuild with Expo clear provisioning file parameter. āœŒļø

Enable push notifications on your App IDā€™s Identifier

As itā€™s mentioned in this GitHub issue:

In order to fix this, you need to enable ā€œPush notificationsā€ for your app on the app store.

  1. Login to https://developer.apple.com/
  2. Go to the ā€œCertificates, Identifiers and Profilesā€ section
  3. Select ā€œApp IDsā€ in the Identifiers section on the left column
  4. Choose your app ID, edit it and check ā€œPush Notificationsā€. Save changes
  5. Generate a certificate for the production push service: go to the ā€œCertificatesā€ section, and follow the assistant to add a ā€œApple Push Notification service SSL (Sandbox & Production)ā€ certificate for your app. Acute readers will notice that expo does not need this certificate since it uses a key to talk to Apple directly

TL;DR: Expo needs to enable the ā€œPush Notificationā€ service when creating the app in the Apple Developer Portal

Rebuild your Expo app

Second, Iā€™m sure you already has published you app, so what you need to do is change the expo.ios.buildNumber in your app.json file and then rebuild the app clearing the provisioning profile like this. šŸ‘Øā€šŸ’»šŸ‘©ā€šŸ’»

expo build:ios --clear-provisioning-profile

In that way Expo will generate the build with the Push Notifications that are now activated in your App ID Identifier.

Finally, upload it again from the Application Loader. You should be fine.

IMPORTANT! If clearing the provisioning profile doesnā€™t work, try clearing all with the command:

expo build:ios -c

Top comments (0)