How to share an Expo EAS build with testers
Updated
To share an Expo app with testers: add a preview profile with "distribution": "internal" and "android": {"buildType": "apk"} to eas.json, register iPhones with eas device:create, then run eas build --profile preview --platform all. Download the .apk and .ipa and upload them to ipalinked.com for one-tap install links.
1. Add an internal-distribution profile
In eas.json:
{ "build": { "preview": { "distribution": "internal", "android": { "buildType": "apk" } } } }
distribution: internal makes EAS sign iOS builds for ad hoc (or enterprise, if your account has it). buildType: apk makes Android output an installable APK instead of an AAB.
2. Register iOS test devices
Run eas device:create and send the generated link to each tester; they open it on their iPhone to register. You can also paste UDIDs collected with the UDID finder. EAS adds registered devices to the ad-hoc profile when it builds — so register first, then build.
3. Build
eas build --profile preview --platform all
When the build finishes, download the .apk and .ipa from the build page on expo.dev or from the CLI output.
4. Share one link per platform
- Upload each file at ipalinked.com.
- Send the links or QR codes — Android testers install the APK, iPhone testers tap Install in Safari.
- Add a password if the build isn't public.
Prefer not to leave your editor? The IPALinked MCP tool can upload the artifact for you from Cursor, Claude or Copilot.
Common issues
- iPhone says “Unable to Install”: the device wasn't registered before the build. Register it and rebuild — see the fix guide.
- Android got an .aab: the profile is missing
buildType: apk, or convert the AAB. - Expo Go vs. builds: Expo Go runs your JavaScript in a shared app; testers who need native modules or your real app icon need a build like this one.
Frequently asked questions
How do I get an APK instead of an AAB from EAS?
Set "buildType": "apk" under the android key of your build profile in eas.json.
Why won't my EAS iOS build install?
Internal iOS builds are ad-hoc signed, so the device must be registered (eas device:create) before you build.
Can I share EAS builds without an Expo account for testers?
Yes. Download the files and share them by link; testers don't need Expo or any account.