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:
-
Replit’s managed Expo project — this is what actually owns my TestFlight build. I don’t have credentials or access to this account.
-
My own Expo account — the
EXPO_TOKENsecret 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_TOKENonly 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
-
How do I attach an APNs key (
.p8) to the Replit-managed Expo project that owns my published build? -
Is there a UI step in Replit’s mobile publishing flow for uploading push credentials that I’ve missed?
-
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
.p8to the repo)?
Any guidance on the correct workflow for iOS push notifications under Replit-managed publishing would be hugely appreciated. Thanks!