How to Build and Test iOS Apps on a Physical Phone: Expo EAS and Apple TestFlight (Part 2/3)
Source: Dev.to
Building a Production (Store‑Signed) Binary
eas build --platform ios --profile production
When prompted, let EAS manage:
- certificates
- provisioning profiles
- signing
This produces an App Store‑signed IPA.
Resolved "production" environment for the build. Learn more: https://docs.expo.dev/eas/environment-variables/#setting-the-environment-for-your-builds
....
✔ Incremented buildNumber from 3 to 4.
✔ Using remote iOS credentials (Expo server)
✔ Do you want to log in to your Apple account? … yes
› Log in to your Apple Developer account to continue
✔ Apple ID: … cathy.xxxx@xxxxx.com
› Restoring session /Users/cathy/.app-store/auth/cathy.xxxx@xxxxx.com/cookie
› Session expired Local session
› Using password for cathy.xxxx@xxxxx.com from your local Keychain
Learn more: https://docs.expo.dev/distribution/security#keychain
✔ Logged in New session
› Team Cathy Lai (XXXXXX)
› Provider Cathy Lai (xxxxxxxx)
✔ Bundle identifier registered com.cathyapp1234.oauthpro2
✔ Synced capabilities: No updates
✔ Synced capability identifiers: No updates
✔ Fetched Apple distribution certificates
✔ Fetched Apple provisioning profiles
Project Credentials Configuration
Project @cathyapp1234/oauth-pro2
Bundle Identifier com.cathyapp1234.oauthpro2
Distribution certificates and provisioning profiles are auto‑generated. They act as Apple’s “permission slip” that allows the binary to run on specific devices.
App Store Configuration Details
Distribution Certificate
Serial Number XXXXXXXDA97EA34FFC3B28C8BA6C44
Expiration Date Tue, 04 Aug 2026 05:10:17 GMT+1200
Apple Team XXXXXX (Cathy Lai (Individual))
Updated 6 months ago
Provisioning Profile
Developer Portal ID XxXXXXXXXX
Status active
Expiration Tue, 04 Aug 2026 05:10:17 GMT+1200
Apple Team XXXXXXXXXX (Cathy Lai (Individual))
Updated 17 days ago
All credentials are ready to build @cathyapp1234/oauth-pro2 (com.cathyapp1234.oauthpro2).
Compressing project files and uploading to EAS Build. Learn more: https://expo.fyi/eas-build-archive
✔ Uploaded to EAS 1s
✔ Computed project fingerprint
See logs: https://expo.dev/accounts/cathyapp1234/projects/oauth-pro2/builds/xxxxxxx
Waiting for build to complete. You can press Ctrl+C to exit.
Build queued...
Waiting in priority queue
|■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■|
✔ Build finished
🍏 iOS app:
https://expo.dev/artifacts/eas/xxxxxxxxx.ipa
Automatic App Store Connect Integration
Expo will auto‑create the app record in App Store Connect:
- App record created
- Bundle ID registered
- Build uploaded
The build then appears in TestFlight.


Next Steps
Add testers (via email) so they receive a TestFlight invitation and can download the app.
Video of the whole process is available for reference.