InvalidCredentials: Could not find APNs credentials for dev.expo.client. You may need to generate or upload new push credentials.

Please provide the following:

  1. SDK Version: 37.0.7
  2. Platforms(Android/iOS/web/all): iOS

Built a custom iOS Expo client and push notifications used to work yesterday, but today it suddenly stopped working. I built a new custom iOS Expo client and this problem still exists. What’s weird is my tester who also uses a different custom iOS Expo client, can receive push notifications without a problem. Do I have to do anything for this to work?

Did you revoke your APN key in the Apple Developer portal? Or revoke keys on Expo’s servers? The custom expo client relies on your own Push Notification credentials- https://docs.expo.io/guides/adhoc-builds/#push-notification-credentials

Did you mean that I have to upload my own .p8 file in order for push notifications to work on Custom iOS Clients, asking Expo to handle and generate Push Credentials won’t work?

Didn’t revoke anything, just suddenly stopped working, my tester with a custom iOS client was able to receive push notifications. I have tried revoking a push and adding a new one and letting Expo handle all the process then set that push credentials to use in the project and proceeded with building a custom iOS Client. But still receive the same Could not find APN credential. Am I missing a step?

Checked with Expo and it says, the Push Notification Key is used by the same dev.expo.client.f5kw…


InvalidCredentials: Could not find APNs credentials for dev.expo.client.f5kw2tstyoebrnai6vcuqh36ak2nnnzaxdpw6dtl6ptfk. You may need to generate or upload new push credentials.

my tester with a custom iOS client was able to receive push notifications

Using the same custom client you have? Or they generated their own with their own certificates?

I would double-check in your Apple Developer Portal that that push notifications key is valid

Thanks for your response, my testers are using a different custom client, using same command expo client:ios to generate the custom iOS client.

I tried generating a new client again today.

I noticed this showed up on the terminal. “These services will be disabled in your custom Expo client:, Push Notifications
not yet available until API tokens are supported for the Push Notification system” any idea on what that means?

Fetching available credentials
:heavy_check_mark: App ID found on Apple Developer Portal.
:heavy_check_mark: Getting Distribution Certificates from Apple…
:heavy_check_mark: Successfully validated Distribution Certificate against Apple Servers
:heavy_check_mark: Getting Push Keys from Apple…
:heavy_check_mark: Successfully validated Push Key against Apple Servers

These services will be disabled in your custom Expo client:

Service Reason
Push Notifications
not yet available until API tokens are supported for the Push Notification system

Hey @paulcham, it looks like push notifications are disabled in custom Expo Clients for now, until we add another layer of authentication to the push service. I’m not sure why they are working for your other testers with custom clients though :thinking:

Can you walk me through your workflow a little bit more? Why are you using the custom Expo Client?

Thanks for the clarification. I’m not sure either why it works for the other custom Expo clients though. But does this mean the published app on the Appstore/GooglePlay via Expo will work with Push Notifications even if it doesn’t work with the custom Expo client?

The app uses background location update, and push notifications that’s why a custom expo client is needed. The backend uses Expo push.

Yeah, the standalone app (built with expo-cli or turtle-cli) will work with push notifications