Expo build for enterprise

I’m running expo build:ios -t archive for enterprise account and I have developer access but I encounter an error.

I’m providing my own distribution certificates provided by the company.

Below are the response,

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
Getting Push Keys from Apple…Failed to set up Push Key
Failed to prepare all credentials.

Reason: Unexpected response, 
raw: { 
  "responseId": "83d56276-1038-4a43-98bd-fdee9f096c4b", 
  "resultCode": 1200, 
  "resultString": "You are not allowed to perform this operation.  Please check with one of your Team Admins, or, if you need further assistance, please contact Apple Developer Program Support. https://developer.apple.com/support", 
  "userString": "You are not allowed to perform this operation.  Please check with one of your Team Admins, or, if you need further assistance, please contact Apple Developer Program Support. https://developer.apple.com/support", 
  "creationTimestamp": "2020-10-07T04:47:36Z", 
  "protocolVersion": "QH65B2", 
  "userLocale": "en_US", 
  "requestUrl": "https://developer.apple.com/services-account/QH65B2/account/auth/key/list", "httpCode": 200 
}

How do I fix this? What permission do I need? Or what admin need to do for me to build the app?

I think they need to create the key here right for me to use?
https://developer.apple.com/account/resources/authkeys/list

I can access above url with my other account where I have admin right but not the enterprise account where I only have developer access.

Any help?
Any way to skip the push notification part? The app doesn’t use any push notifications service yet.

I tried expo credentials:manager

  • let expo handle
  • upload my own (p12 certificate)

and it still throws errors. Do I need the p8 version of the certificate? or what access do I need to let expo handle the process? Developer access is not sufficient.

You need Admin or App Manager role or someone with that access needs to generate Push Notification Key , Distribution Certificate and provisioning profile for you.

Provisioning profile does not need to be provided manually, with developer permission you can download it from Apple developer Portal, but you can’t create a new one or update the existing one.

If you want to skip push notfications part you can pass a random file and password there, but it will still fail on provisioning profile step.

I still got an error, same error as above after I provided the p8 file. How do I fix this? Not sure what to do anymore.

Authenticating to Apple Developer Portal…
Authenticated with Apple Developer Portal successfully!
You have 2 teams associated with your account
? Which team would you like to use? 2) **** “****” (In-House)
App ID found on Apple Developer Portal.
⠋ Checking validity of distribution certificate on Apple Developer Portal…⠋ Getting Distribution C
:heavy_check_mark: Getting Distribution Certificates from Apple…
:heavy_check_mark: Successfully validated Distribution Certificate against Apple Servers
⠏ Getting Push Keys from Apple…Failed to set up Push Key
Failed to prepare all credentials.
The next time you build, we will automatically use the following configuration:

Project Credential Configuration:
Experience: ****, bundle identifier: ****
Provisioning profile is missing. It will be generated during the next build

Distribution Certificate - Certificate ID: -----
Apple Team ID: ****, Apple Team Name: ---------
Push Notifications Key - Key ID: ****
Apple Team ID: ****, Apple Team Name: ---------
Reason: Unexpected response, raw:

{
        "responseId": "bfe78eea-1556-4641-b5b9-82ced92c8960",
        "resultCode": 1200,
        "resultString": "You are not allowed to perform this operation.  Please check with one of your Team Admins, or, if you need further assistance, please contact Apple Developer Program Support. https://developer.apple.com/support",
        "userString": "You are not allowed to perform this operation.  Please check with one of your Team Admins, or, if you need further assistance, please contact Apple Developer Program Support. https://developer.apple.com/support",
        "creationTimestamp": "2020-10-12T06:58:55Z",
        "protocolVersion": "QH65B2",
        "userLocale": "en_US",
        "requestUrl": "https://developer.apple.com/services-account/QH65B2/account/auth/key/list",
        "httpCode": 200
    }

If you specify apple credentials expo-cli is running validation on all build credentials, one of the steps is checking if push key is on the list

        "requestUrl": "https://developer.apple.com/services-account/QH65B2/account/auth/key/list",

which you don’t have permission to call. If you don’t specify your apple credentials this validation won’t be triggered.

1 Like

Thank you, I can now build the app. Once completed, I can just give the .ipa file to the client and it will work just fine right? They will handle the distribution part.