How do I add APNs push credentials when Replit manages App Store publishing internally?

What I’m trying to do

I have an Expo/React Native app built and published through Replit’s managed mobile publishing flow. The app is live on TestFlight. I’m trying to get push notifications working for iOS users.

The problem

Push notifications never arrive on iOS. When I check my production server logs, every push attempt fails with the same Apple error:

Could not find APNs credentials for …

So the issue isn’t my code, the device tokens register fine and my server is sending the notifications correctly. Apple is rejecting them because there’s no APNs key (.p8) associated with the app on the Expo project that actually owns the build.

Why I can’t fix it myself

This is where I’m stuck. There seem to be two separate Expo accounts involved:

  1. Replit’s managed Expo project — this is what actually owns my TestFlight build. I don’t have credentials or access to this account.

  2. My own Expo account — the EXPO_TOKEN secret in my Repl authenticates my personal Expo account, which owns a different app identity.

I have my Apple APNs key files (.p8, Key ID ) ready to go. But:

  • I can’t upload the APNs key from the Repl shell / EAS, because my EXPO_TOKEN only grants access to my personal Expo account, not the Replit-managed project that owns the actual build.

  • Since Replit manages publishing to the App Store internally, the APNs credential needs to be attached to Replit’s managed Expo project, which I have no way to reach.

My questions

  1. How do I attach an APNs key (.p8) to the Replit-managed Expo project that owns my published build?

  2. Is there a UI step in Replit’s mobile publishing flow for uploading push credentials that I’ve missed?

  3. If not, can Replit support upload the APNs key on my behalf, and what’s the secure way to provide it (since I obviously shouldn’t commit a .p8 to the repo)?

Any guidance on the correct workflow for iOS push notifications under Replit-managed publishing would be hugely appreciated. Thanks!

Here is a suggestion. Ask Replit support: Confirm which Expo/EAS account and project owns my TestFlight build, and provide the supported workflow for attaching APNs push credentials to that managed project. My own EXPO_TOKEN appears to authenticate a different Expo account, so eas credentials cannot update the project that generated the live iOS build. Hope that helps!

I asked them. They are very slow to respond. I am a premium member and they say I am the top of the support list. But it takes at least 3 days, to get an initial response, where they just give me an AI generated response.