patterntypescriptreact-nativeMajor
App Store Deployment with EAS Build: iOS Code Signing
Viewed 0 times
code signingEAS Buildprovisioning profiledistribution certificateApple DeveloperiOS deployment
Error Messages
Problem
iOS code signing (certificates, provisioning profiles, entitlements) is the #1 source of CI/CD failures for React Native apps. Managing these manually across a team is error-prone.
Solution
Use EAS Build with
credentialsSource: 'remote' to let Expo manage signing certificates and provisioning profiles automatically. Run eas credentials to view/manage. For enterprise or teams with existing Apple accounts, use credentialsSource: 'local' with a credentials.json file.Why
EAS Build's remote credential management communicates directly with the Apple Developer Portal API to create and renew certificates and profiles. This eliminates Xcode keychain issues and certificate expiry surprises.
Gotchas
- Apple distribution certificates are limited to 3 per account — EAS may need to revoke one
- The
APPLE_IDandAPPLE_APP_SPECIFIC_PASSWORDenv vars are required for automated submission - Entitlements (push, associated domains, in-app purchases) must be declared in
app.jsonunderios.entitlements - Development builds need a development provisioning profile, not a distribution profile
Code Snippets
EAS Build remote credentials configuration
// eas.json — remote credentials
{
"build": {
"production": {
"ios": {
"credentialsSource": "remote"
}
}
}
}Revisions (0)
No revisions yet.