🌐
Expo Documentation
docs.expo.dev › build › introduction
EAS Build - Expo Documentation
... Automate version bumps so you never have to think about them again. ... EAS Build is a hosted service, but you can also run it on your own machine, for example, to debug or to comply with any company security policies.
🌐
Expo Documentation
docs.expo.dev › build › setup
Create your first build - Expo Documentation
EAS Build allows you to build a ready-to-submit binary of your app for the Google Play Store or Apple App Store. In this guide, let's learn how to do that. Alternatively, if you prefer to install the app directly to your Android device/emulator ...
🌐
Expo Documentation
docs.expo.dev › tutorial › eas › ios-production-build
Create a production build for iOS - Expo Documentation
Select Build credentials and choose All: Set up all the required credentials to build your project. Now, it will prompt whether we want to re-use the previous Distribution Certificate. Press Y. Generate a new Apple Provisioning Profile? Press Y. This will be the provisioning profile for the production app. Once the profiles are created, press any ctrl + c to exit the EAS CLI. ... To create an iOS production build using the default production profile, open your terminal and execute the following command.
🌐
Expo Documentation
docs.expo.dev › develop › development-builds › create-a-build
Create a development build on EAS - Expo Documentation
This is the easiest way to build your native app, as it requires no native build tools on your side. The builds happen on the EAS servers, which makes it possible to trigger iOS builds from non-macOS platforms.
🌐
egghead.io
egghead.io › lessons › react-native-create-a-development-build-for-iphone-with-eas
Create a Development Build for iPhone With EAS | egghead.io
Create a build to run on your physical iPhone device that can also be used for local development. 📝 Enabling Developer Mode 📖 Further reading: Push No...
🌐
Expo Documentation
docs.expo.dev › tutorial › eas › ios-development-build-for-devices
Create and run a cloud build for iOS device - Expo Documentation
Tap Install to register the iOS device. After the provisioning profile is installed, our device redirects us back to the web browser, displaying a success message indicating the completion of the process. ... The developmentClient is set to true in eas.json, which is done by the default configuration. Then, run the eas build command with ios as the platform and development as the build profile:
🌐
YouTube
youtube.com › watch
How to create and run a cloud build for iOS devices | EAS Tutorial - YouTube
In this EAS Tutorial video you'll learn how to create and run a cloud build for iOS devices. You're going to need an apple developer account for this one!📂 ...
Published   January 27, 2025
🌐
egghead.io
egghead.io › lessons › react-native-create-a-development-build-for-ios-simulator-with-eas
Create a Development Build for iOS Simulator with EAS | egghead.io
Create an iOS build for developing locally on a Simulator. This is the only native iOS build you can do on EAS without having an Apple Developer accoun...
Find elsewhere
🌐
YouTube
youtube.com › watch
How to create a production build for iOS | EAS Tutorial - YouTube
Learn how to create a production build for iOS in this EAS Tutorial video. This video is part of a series of EAS Tutorials to help devs build apps and get th...
Published   January 27, 2025
🌐
GitHub
github.com › expo › eas-cli
GitHub - expo/eas-cli: Fastest way to build, submit, and update iOS and Android apps
Fastest way to build, submit, and update iOS and Android apps - expo/eas-cli
Starred by 1.2K users
Forked by 162 users
Languages   TypeScript
🌐
Expo Documentation
docs.expo.dev › tutorial › eas › internal-distribution-builds
Create and share internal distribution build - Expo Documentation
This command registers an iOS device and gives us a URL or QR code to share for device registration: ... This command registers an iOS device for app installation, generating a shareable URL (or QR code) for device registration.
🌐
Expo Documentation
docs.expo.dev › deploy › build-project
Build your project for app stores - Expo Documentation
Alternatively, you can use --platform all option to build for Android and iOS at the same time: ... You will need to have a developer account for the app store you want to submit your app. Google Play Developer membership is required to distribute to the Google Play Store. You can build and sign your app using EAS Build, but you can't upload it to the Google Play Store unless you have a membership, a one-time $25 USD fee.
🌐
Lexicon
docs.lexicon.is › build your app
Build your App | Lexicon
To build on both platforms, you can use either of the commands below: ... Without --profile, the EAS CLI will default to the production profile.
🌐
GitHub
github.com › expo › eas-cli › issues › 2024
EAS build iOS Build failed Production · Issue #2024
August 25, 2023 - Fastest way to build, submit, and update iOS and Android apps - expo/eas-cli
Published   Aug 25, 2023
🌐
Expo Documentation
docs.expo.dev › build-reference › local-builds
Run EAS Build locally with local flag - Expo Documentation
However, we do not officially test against this platform and do not support Windows for local builds (macOS and Linux are supported). To compile your app locally for development with Expo CLI, use npx expo run:android or npx expo run:ios commands ...
🌐
Reddit
reddit.com › r/expo › eas preview build and making changes.
r/expo on Reddit: EAS Preview build and making changes.
February 21, 2023 -

Hello

I just completed my app :) and gave it for internal testing:

eas build --profile preview --platform all 

Now, I wish to make some changes and see them in Expo Go. However I believe that Expo Go does not work well with EAS runtimeVersion.

So, then I came across this page and video.

https://docs.expo.dev/development/introduction/

I ran,

expo run:ios 

And it opened up the app in the simulator. However, it made a whole new /iOS folder which now GIT says I have to commit.

I am confused. Do I commit this? Or put this in .gitignore.

Is this the best way to make changes in the app in between preview builds? I am thoroughly confused going through Expo's documentation.

Any help is appreciate. I have to iterate quickly on this app.

Top answer
1 of 2
7
There are two separate concepts here: the app you use for development and how you build your app. The app you use for development can be either Expo Go or a development build of your own project. Expo Go is a fast way to get started but supports only the native modules included with the preset Expo SDKs. To use custom native code with Expo, you need to make a development build of your own project. Development builds include the expo-dev-client module that helps you load and reload your JavaScript during development. The developer experience is similar to Expo Go’s in that way. Also, traditional Android and iOS development both have debug and release schemes. With Expo, development builds use the debug scheme. The builds are what you’d get if you opened up Xcode and clicked “Run”, in contrast with archiving for the store. The second concept is how you build your app, namely on your own computer or with EAS Build (and you can do both). npx expo run:ios is a way to generate an Xcode project under the “ios” directory (the prebuild step) and compile and launch your app (the build step). It’s a shortcut for running npx expo prebuild --platform ios , followed by manually opening the Xcode project workspace and clicking “Run”. Expo CLI also optimizes some steps to be faster than Xcode’s. Using the prebuilt “ios” directory’s Xcode project, you can also create production builds by archiving an app like you would with traditional iOS development. Your choice to commit the “ios” directory depends on whether you’ve manually edited the generated Xcode project. It’s usually simpler not to edit and commit it. At this stage of your project, you probably don’t need to. Module authors can write config plugins , which run during the prebuild step and automatically make changes to the Xcode project files (like Info.plist most commonly and AppDelegate lifecycle hooks for iOS). Config plugins take care of editing your native projects so you don’t have to and let you gitignore your generated “android” and “ios” directories. When all of your native project customizations are managed by config plugins, you can delete your “android” and “ios” directories anytime and regenerate them with npx expo prebuild. Returning to the topic of ways to build your app, the second way is with eas build, which uses Expo Application Services (EAS)‘s hosted hardware. EAS Build supports making both development and production builds of your app. It also supports both projects that have and don’t have generated “android” or “ios” folders. EAS Build works with any React Native app. EAS has a concept called build profiles, which let you configure your builds differently for development, previewing, and production (and any other profiles you’d like to define later on). The guide on creating a development build shows how to define a build profile named “development” in EAS’s config file, eas.json. Running eas build:configure is the recommended way to initialize eas.json, after which you can define your development build profile: { “build”: { “development”: { “developmentClient”: true, “distribution”: “internal” } } } After defining your development build profile, run eas build --profile development --platform ios to create a development build of your app. The guide goes on to explain how to make Android emulator/iOS simulator builds, too. The EAS Build docs are also comprehensive and explain how to make production builds for when the time comes to submit to the stores .
2 of 2
1
Unless you're changing anything under the ios folder then you don't have to commit since Expo can generate that folder when necessary.