Expo ios deployment
Reusable AI agent skills for application development, data, architecture, domain modelling and delivery workflows.
npx -y skills add POWR-DATA/mtx-skills --skill expo-ios-deploymentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Produce an EAS iOS development build for testing on registered devices — expo-dev-client setup, credential generation, device registration, and eas.json iOS config
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.6 KB, as published. Nobody here has run it
Expo iOS Deployment
Purpose
Get an Expo/React Native app running on a physical iOS device through an EAS development build (ad hoc distribution) — covering expo-dev-client setup, automatic certificate and provisioning profile generation, device UDID registration, and the eas.json iOS fields required before submission. This is the iOS development testing loop, distinct from production store submission.
When to use
When you need to test an Expo iOS app on a real device and Expo Go is not an option (SDK 56+ removed it) or you need native modules. Apply during development, before production build and store submission. For production build and submit, use eas-build-submit; for App Store Connect listing, use app-store-listing.
Inputs expected
- An Expo project with
eas.json(or to be created) - EAS CLI installed and logged in (
eas login) - An Apple Developer Program membership
- The physical iOS device(s) you intend to test on
- Bundle identifier for the app
Guiding principles
- Install
expo-dev-clientbefore building. EAS cannot produce an iOS development build without it. The EAS CLI detects when it is missing and offers to install it automatically duringeas build --platform ios --profile development, but installing it up front avoids the interruption. - The development build flow has three steps that must run in order. First
eas credentials(generates the distribution certificate and provisioning profile automatically), theneas device:create(registers the device UDID), theneas build --platform ios --profile development. Building before the device is registered produces a build the device cannot install. - EAS manages all certificates — do not touch the Apple Developer portal manually.
eas credentialscreates and stores the distribution certificate and provisioning profile for you. Manual certificate work in the Apple Developer portal is unnecessary and risks conflicts with EAS-managed credentials. - Register devices with
eas device:createusing the Website option. This produces a registration URL to open on the target device, which captures its UDID and adds it to the provisioning profile. Ad hoc distribution only installs on devices registered this way — an unregistered device cannot install the build. - A development build is ad hoc distribution, not the App Store. It installs only on registered devices and is for development/testing. It is a separate artefact from the production build you later submit to the App Store via
eas-build-submit. eas.jsonneeds the Apple Team ID andascAppIdbefore submission. The Apple Team ID is shown in the Apple Developer Portal header on the Certificates, Identifiers & Profiles page. The numericascAppIdis obtained after creating the app in App Store Connect. Both belong undersubmit.production.iosineas.jsonbefore runningeas submit.
Process
- Install
expo-dev-client. Runnpx expo install expo-dev-clientso EAS can produce a development build. - Generate credentials. Run
eas credentialsand let EAS create the distribution certificate and provisioning profile automatically. - Register the test device. Run
eas device:create, choose the Website option, and open the resulting URL on the target iOS device to capture its UDID. - Build the development profile. Run
eas build --platform ios --profile development. Install the resulting build on the registered device. - Record iOS submission config. Add the Apple Team ID and
ascAppIdundersubmit.production.iosineas.jsonahead of production submission.
Output format
- Prerequisite check —
expo-dev-clientinstalled, EAS CLI logged in - Credential summary — distribution certificate and provisioning profile generated by EAS
- Device registration — device(s) registered via
eas device:create, UDID captured - Build result — development build produced and installed on the registered device
- eas.json iOS config — Apple Team ID and
ascAppIdrecorded undersubmit.production.ios
Quality checklist
-
expo-dev-clientinstalled before building - Credentials generated via
eas credentials— no manual Apple portal certificate work - Target device registered with
eas device:create(Website option) before building - Development build installs and runs on the registered device
- Apple Team ID and
ascAppIdset undersubmit.production.iosineas.json
Avoid
- Building an iOS development build without
expo-dev-clientinstalled — it will not work - Running the steps out of order — register the device before building, or it cannot install the result
- Doing manual certificate work in the Apple Developer portal — let
eas credentialsmanage them - Expecting a development build to install on an unregistered device — ad hoc distribution requires UDID registration
- Running
eas submitbefore the Apple Team ID andascAppIdare set ineas.json
Example usage
"I'm on Expo SDK 56 so Expo Go won't work for iOS testing. Get my app onto my iPhone with an EAS development build — I'm on Windows with the phone plugged in — and set up
eas.jsonso I can submit to the App Store later."
Source: This skill is sourced from the Matrix Skills library. Learn more at the AI Agent Skills Library.