Skip to content

EAS build error: Authentication with Apple Developer Portal failed! iTunes service key is empty #4392

Description

@camchis

Build/Submit details page URL

No response

Summary

EAS is returning an error when I attempt to login with my Apple Developer account
eas build fails at the Apple Developer login step with the following error

Authentication with Apple Developer Portal failed!
iTunes service key is empty

Managed or bare?

Managed

Environment

expo-env-info 2.1.0 environment info:
System:
OS: macOS 26.6.2
Shell: 5.9 - /bin/zsh
Binaries:
Node: 24.12.0 - /Users/cameronchisholm/.nvm/versions/node/v24.12.0/bin/node
Yarn: 1.22.22 - /Users/cameronchisholm/.nvm/versions/node/v24.12.0/bin/yarn
npm: 11.6.2 - /Users/cameronchisholm/.nvm/versions/node/v24.12.0/bin/npm
Managers:
CocoaPods: 1.16.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 25.5, iOS 26.5, macOS 26.5, tvOS 26.5, visionOS 26.5, watchOS 26.5
IDEs:
Android Studio: 2025.2 AI-252.25557.131.2521.14432022
Xcode: 26.6/17F113 - /usr/bin/xcodebuild
npmPackages:
expo: ~57.0.20 => 57.0.20
react: 19.2.3 => 19.2.3
react-dom: 19.2.3 => 19.2.3
react-native: 0.86.3 => 0.86.3
react-native-web: ^0.21.2 => 0.21.2
npmGlobalPackages:
eas-cli: 23.2.0
Expo Workflow: bare

Error output

EXPO_DEBUG=true eas build --profile development
★ eas-cli@24.3.0 is now available.
To upgrade, run npm install -g eas-cli.
Proceeding with outdated version.

✔ Select platform › iOS
The EAS build profile does not specify a Node.js version. Using the version specified in .nvmrc: 24.12.0 
Loaded "env" configuration for the "development" profile: no environment variables specified. Learn more: https://docs.expo.dev/build-reference/variables/
ios.podfileProperties: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosPodfilePropertiesBaseMod
ios.podfileProperties: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withJsEnginePodfileProps ➜ withPodfileProperties
ios.podfileProperties: withStaticPlugin ➜ withRunOnce ➜ withExpoImage ➜ withPodfileProperties
ios.infoPlist: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosInfoPlistBaseMod
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withVersion ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withBuildNumber ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withUsesNonExemptEncryption ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withScheme ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withRequiresFullScreen ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withOrientation ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withDisplayName ➜ withInfoPlist
ios.infoPlist: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withGoogle ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withFileSystem ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withRunOnce ➜ withDevClient ➜ withGeneratedIosScheme ➜ withInfoPlist
ios.infoPlist: withDevClient ➜ withRunOnce ➜ withLocalNetworkPermission ➜ withInfoPlist
ios.infoPlist: withRunOnce ➜ withDevClient ➜ withRunOnce ➜ withInfoPlist
ios.infoPlist: withStaticPlugin ➜ withIosSplashScreen ➜ withPlugins ➜ withStaticPlugin ➜ withIosSplashInfoPlist ➜ withInfoPlist
ios.infoPlist: withSystemUI ➜ withPlugins ➜ withStaticPlugin ➜ withIosUserInterfaceStyle ➜ withInfoPlist
ios.infoPlist: withSystemUI ➜ withPlugins ➜ withStaticPlugin ➜ withIosRootViewBackgroundColor ➜ withInfoPlist
ios.infoPlist: withFallback ➜ withPlugins ➜ withStaticPlugin ➜ withIosAdMob ➜ withInfoPlist
ios.infoPlist: withFallback ➜ withPlugins ➜ withStaticPlugin ➜ withMaps ➜ withGoogleMapsKey ➜ withInfoPlist
ios.entitlements: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosEntitlementsBaseMod
ios.entitlements: withIosExpoPlugins ➜ withPlugins ➜ withStaticPlugin ➜ withAssociatedDomains ➜ withEntitlementsPlist
ios.entitlements: withFallback ➜ withPlugins ➜ withStaticPlugin ➜ withNotificationsEntitlement ➜ withEntitlementsPlist
ios.entitlements: withStaticPlugin ➜ withExpoContacts ➜ withRunOnce ➜ withAccessesContactNotes ➜ withEntitlementsPlist
ios.entitlements: withStaticPlugin ➜ withExpoAppleAuthentication ➜ withRunOnce ➜ withAppleSignInWarning ➜ withEntitlementsPlist
ios.expoPlist: withIntrospectionBaseMods ➜ withIosBaseMods ➜ withGeneratedBaseMods ➜ withIosExpoPlistBaseMod
ios.expoPlist: withStaticPlugin ➜ withRunOnce ➜ withUnversionedUpdates ➜ withUpdates ➜ withExpoPlist
ios.splashScreenStoryboard: withPlugins ➜ withStaticPlugin ➜ withIosSplashScreenStoryboardBaseMod ➜ withGeneratedBaseMods ➜ withIosSplashScreenStoryboardBaseMod
ios.splashScreenStoryboard: withStaticPlugin ➜ withIosSplashScreen ➜ withPlugins ➜ withStaticPlugin ➜ withIosSplashScreenImage ➜ withIosSplashScreenStoryboard
✔ Using remote iOS credentials (Expo server)

If you provide your Apple account credentials we will be able to generate all necessary build credentials and fully validate them.
This is optional, but without Apple account access you will need to provide all the missing values manually and we can only run minimal validation on them.
✔ Do you want to log in to your Apple account? … yes

› Log in to your Apple Developer account to continue
✔ Apple ID: … [redacted]
› Using password for [redacted] from your local Keychain
  Learn more: https://docs.expo.dev/distribution/security#keychain
Authentication with Apple Developer Portal failed!
iTunes service key is empty
AssertionError [ERR_ASSERTION]: iTunes service key is empty
    at t.getItunesConnectServiceKeyAsync (/Users/cameronchisholm/.bun/install/global/node_modules/@expo/apple-utils/build/index.js:1:715461)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async Object.S [as loginWithUserCredentialsAsync] (/Users/cameronchisholm/.bun/install/global/node_modules/@expo/apple-utils/build/index.js:1:703305)
    at async loginWithUserCredentialsAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/ios/appstore/authenticate.js:84:24)
    at async loginAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/ios/appstore/authenticate.js:56:16)
    at async authenticateAsUserAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/ios/appstore/authenticate.js:129:27)
    at async authenticateAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/ios/appstore/authenticate.js:101:16)
    at async AppStoreApi.ensureAuthenticatedAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/ios/appstore/AppStoreApi.js:35:28)
    at async CredentialsContext.bestEffortAppStoreAuthenticateAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/context.js:67:13)
    at async SetUpTargetBuildCredentials.runAsync (/Users/cameronchisholm/.bun/install/global/node_modules/eas-cli/build/credentials/ios/actions/SetUpTargetBuildCredentials.js:16:9) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: undefined,
  expected: true,
  operator: '==',
  diff: 'simple'
}
    Error: build command failed.

Reproducible demo or steps to reproduce from a blank project

Must not be logged in to apple account with EAS
Run eas build -> platform iOS -> attempt to login with apple account

Getting the same error on eas-cli/24.3.0 as well

Pinned by brentvatne

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

needs reviewIssue is ready to be reviewed by a maintainer

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions