v5.6.4
You can now run your app on a simulator or emulator with one command:
/emulate. It takes whatever branch you're on, clears out the leftover build processes from your last attempt, and opens the window on your desktop. That last part is the reason it exists — a half-dead build server from the run before is the most common cause of a launch that fails for reasons that have nothing to do with your code.
✨ New
- Type
/emulatein any project and the app launches locally, on the branch you're standing on. You don't have to remember the right build command, stop last time's dev server, or pick a device — it works out all three and tells you what it chose. - Say which platform you want with
/emulate --iosor/emulate --adr. Leave the flag off and it reads the platforms you actually ship from your project's setup. If you ship both, it asks; if you ship neither, it stops and says so rather than guessing and booting the wrong thing. - Choose a device with
/emulate --device "iPhone 17", or let it suggest one. It prefers a simulator you already have running, then one you've set as your own default, then the newest you have installed — so the common case needs no decision from you. - Preview a run without touching anything using
/emulate --dry-run. It shows you exactly which processes it would stop, so you can see what it's about to do before it does it. - If you'd rather it ran a specific command, you can now write one into your project's platform setup and
/emulatewill use that instead of working one out. Leave it blank and nothing changes.
📈 Improved
/emulatenever writes to your repository — no commits, no branches, no files. The only thing it changes on your machine is stopping stale build processes, and it will only ever stop ones belonging to this project. A dev server from another project is never touched, even if it looks identical.- Failures tell you what went wrong and what to do about it. A missing toolchain, a device name that doesn't exist, a project with nothing to emulate — each one stops immediately with the fix, instead of surfacing as an obscure error several minutes into a build.
- Projects you set up before this release can pick up the new settings by running
/msg --update, which offers them to you rather than changing anything on its own.