So this opens up the door for performing iOS development on any device. And after the build is complete, the CI servers can return the binary files or it can automatically push them to the stores. So all you need to do is configure a bit of metadata and submit for review.
All we need to do is install EAS CLI globally with npm or yarn and then run a single command, which is EAS build dash dash auto submit. The auto-submit flag is actually brand new, by the way, and this reduces it from two steps, EAS build, EAS submit, just to one step, which is very exciting. It's about as easy as web development is now.
The CLI will prompt you to sign into your Apple developer account, then proceed to automatically configure your app for the store based on the state of your project. When it's done, your code will be uploaded. Now, a relatively new step, which I'm actually talking about for the first time here, is Apple Capability Signing. Now, capabilities are APIs provided by Apple. They're used for things like payments, notifications, health kit, et cetera, and if they aren't configured properly with Apple servers, then your app will fail to build, which is a very weird time to fail.
Now, this type of build failure used to be very common and super annoying. So, for enabling payments, for instance, you need to create a merchant ID, you need to enable payments functionality in your bundle ID. This is all through Apple's like developer website, by the way. You have to do this all manually through a UI. Then you need to register that bundle ID, register the merchant ID to the bundle ID. And then finally, you need to regenerate all your profiles and re-sign your app. A bunch of just like weird terms that require a lot of hand-holding to get right, but since React and Expo are deeply integrated with EAS build, you just need to define the merchant ID and then rebuild your app. The entire process that I just specified is completely automated. So there's just this entire classification of build errors, which are just completely eliminated from your development cycle, which is very exciting.
When the build submission is complete, you can download the binary file if you want, and you can go check out the app entry in the store. Apple will process the binary for a while after it's complete. Then you just need to fill out some metadata and you can submit the app for review. You can also download it using Test Flight. And again, all this happened from just one command. So pretty exciting stuff.
Now, one of the most groundbreaking features in React and Expo is over the air updates. So if you want to update your JS and assets in your app, you can do that instantly via Expo CLI. By running Expo Publish, your JS will be bundled and pushed to a hosting service, which your runtime is coded to check for. When you push your update to the server, it waits for the user to open the app again.
Comments