Journal

Expo Push Notifications Not Working From Lovable? Fix It

Push that works nowhere is usually a missing setup step, not a bug. The capability, APNs, permission, and token registration all have to line up.

Expo Push Notifications Not Working From Lovable? Fix It: a glossy App Store icon on a blue, pink and orange gradient with bubbles

TL;DR

Expo push notifications failing from a Lovable export are almost always a setup gap: the push notifications capability not enabled, APNs not configured in EAS, permission never requested, or the device token not registered with your server. Work the chain in order, capability, APNs credentials, permission prompt, token registration, then test on a real device (not the simulator). Build the UI from a free reference and verify the full push path before relying on it.

Push notifications dead in your Lovable export? The short answer: push that works nowhere is almost always a missing setup step, not a code bug. The capability, APNs credentials, the permission prompt, and token registration all have to line up, and one missing link kills the whole chain. Work them in order and test on a real device. Build the UI from a free VP0 design, the free iOS design library for AI builders, and verify the full push path before you rely on it. To put that in perspective, about 76% of developers now use or plan to use AI tools in their work.

Who this is for

This is for developers whose Lovable-exported Expo app does not receive push notifications, and who want the specific setup chain and where it breaks.

Why push silently fails

Push is a chain, and it is silent when a link is missing. The push notifications capability must be enabled on the app. APNs credentials must be configured in EAS so Apple will deliver. The app must request notification permission and the user must allow it. The device push token must be registered with your server so you know where to send. And you must send through the right environment, dev or production. Lovable exports often miss one of these, and the simulator does not receive remote push at all. The Expo push notifications documentation covers the setup, and Apple Push Notification service is the delivery layer.

Link in the chainIf missingFix
Push capabilityNo deliveryEnable the capability
APNs credentialsApple will not sendConfigure in EAS
PermissionNo tokenRequest and read the result
Token registrationServer cannot targetRegister with your backend
Dev vs prodWorks in one onlySend to the matching environment

Build the UI free with a VP0 design

The notification UI and settings are yours to build cleanly. Build from a VP0 reference:

Build an Expo React Native notifications setup from this design: [paste VP0 link]. An in-context permission prompt, a notifications settings screen, and the token registration flow with your backend, handling granted, denied, and undetermined states. Match the palette and spacing from the reference, and generate clean code.

For related Lovable and Expo fixes, see a Lovable export missing Info.plist in Xcode, does Lovable handle iPhone and iPad screen sizes, the Bolt.new export to iOS App Store fix, and a Rork Xcode build failed solution.

Work the chain on a real device

Debug top down and on hardware. Confirm the push capability is enabled and APNs credentials are set in EAS. Request permission in context and check the result, because a denied or never-requested permission means no token. Confirm the device token is actually registered with your server. Then send a test push through the environment matching your build, dev or production, since a mismatch is a classic “works for me, not in production” trap. Always test on a physical device, never the simulator. Once each link is verified, push works reliably, and the fix is setup, not rewriting code.

Common mistakes

The first mistake is testing push on the simulator, which does not receive it. The second is APNs credentials not configured in EAS. The third is never requesting permission or ignoring the result. The fourth is the token not registered with the server. The fifth is a dev versus production environment mismatch.

Key takeaways

  • Push failing from a Lovable export is almost always a setup gap, not code.
  • The chain: capability, APNs credentials, permission, token registration, environment.
  • Test on a real device; the simulator does not receive remote push.
  • A dev versus production mismatch is a classic cause of “works in dev, not prod.”
  • Build the notifications UI from a free VP0 reference and verify the full path.

Sources

Frequently asked questions

Why are Expo push notifications not working from my Lovable export? Almost always a setup gap: capability not enabled, APNs not configured, permission not requested, or token not registered. Work the chain and test on a real device.

How do I fix push notifications in an Expo app? Enable the capability, configure APNs in EAS, request permission, register the token with your backend, and send to the correct environment, testing on hardware.

Why do push notifications work in development but not production? Usually a dev versus production APNs mismatch, so a token from one environment will not receive pushes sent through the other. Send to the matching environment.

Do push notifications work in the iOS Simulator? Remote push generally requires a physical device. Test on real hardware.

Frequently asked questions

Why are Expo push notifications not working from my Lovable export?

Almost always a setup gap, not code: the push notifications capability is not enabled, APNs credentials are not configured in EAS, the app never requested permission, or the device token is not registered with your server. Work that chain in order and test on a real device, since the simulator does not receive push.

How do I fix push notifications in an Expo app?

Enable the push notifications capability, configure APNs credentials in EAS, request notification permission and read the result, register the device push token with your backend, and send through the correct (dev vs prod) environment. Test on a physical device, not the simulator.

Why do push notifications work in development but not production?

Usually a dev versus production APNs environment mismatch: tokens and certificates differ between environments, so a token registered in one will not receive pushes sent through the other. Make sure your server sends to the environment matching the build.

Do push notifications work in the iOS Simulator?

Remote push generally requires a physical device. Test push on real hardware; relying on the simulator is a common reason people think push is broken when the setup is actually fine.

Part of the React Native & Expo: Mobile Frontend Architecture hub. Browse all VP0 topics →

Keep reading

Bolt.new React Router Errors in Expo? Swap the Router: a vivid neon 3D App Store icon on an orange, pink and blue gradient
Workflows 5 min read

Bolt.new React Router Errors in Expo? Swap the Router

Bolt.new app throwing React Router DOM errors when you move to Expo mobile? React Router is for the web. Replace it with Expo Router or React Navigation.

Lawrence Arya · June 1, 2026
Blank White Screen on Launch in AI-Built Expo Apps? Fix: a phone toggle icon surrounded by location, calendar, settings, wallet and chart app icons on a coral gradient
Guides 5 min read

Blank White Screen on Launch in AI-Built Expo Apps? Fix

AI-generated Expo app launching to a blank white screen? It is a JS-load, render, or splash-timing issue. Here are the causes and the fixes.

Lawrence Arya · June 1, 2026
Black Screen in iOS Simulator After Bolt Export? Fix It: a glass app tile showing the VP0 logo on a pink and blue gradient
Workflows 5 min read

Black Screen in iOS Simulator After Bolt Export? Fix It

Bolt export showing a black screen in the iOS Simulator? It is almost always a JS load or root-render issue, not a crash. Here are the real causes and fixes.

Lawrence Arya · June 1, 2026
Fix Memory Leaks in AI-Generated Swipe Cards (RN & Swift): a glossy App Store icon on a blue, pink and orange gradient with bubbles
Workflows 5 min read

Fix Memory Leaks in AI-Generated Swipe Cards (RN & Swift)

AI-generated swipe UI leaking memory in React Native or Swift? The causes are the same on both: unreleased views, retained closures, and uncleaned resources.

Lawrence Arya · June 1, 2026
Fix Cursor React Native Pod Install Errors (CocoaPods): a glass photo icon surrounded by chat, music, heart, camera and shopping app icons on a pastel gradient
Workflows 5 min read

Fix Cursor React Native Pod Install Errors (CocoaPods)

React Native pod install failing on a Cursor-built project? It is CocoaPods, not Cursor. Here are the real causes, deployment target, stale repo, lockfile, and fixes.

Lawrence Arya · June 1, 2026
Fix Jumping Bottom Sheets in AI Reanimated Code: a vivid neon 3D App Store icon on an orange, pink and blue gradient
Workflows 5 min read

Fix Jumping Bottom Sheets in AI Reanimated Code

AI-generated Reanimated bottom sheet jumping or stuttering? Here is why the gesture and animation fight, and how to make it smooth, from a free template.

Lawrence Arya · June 1, 2026