CLI first
Install with pip, authenticate once, then start builds and fetch artifacts from any shell script.
Easiest way
You do not have to learn any of this. Describe your app in plain words: your AI assistant writes the code, Odevio builds and signs it on a real Mac, and whatever breaks along the way gets fixed for you. No Mac, no Xcode, no iOS jargon.
Ready in three lines
Open your terminal and paste these once:
pip install odevio odevio signup odevio skill install
Already have an Odevio account? Use odevio signin instead of signup.
A Linux workstation is a fine place to build a Flutter app. Android builds, desktop builds, web builds and the whole test suite run without complaint. The iOS release is the single exception, because Apple ships the iOS toolchain and the code-signing tools only inside Xcode, and Xcode only runs on macOS.
This tends to bite hardest in teams that standardised on Linux for good reasons. Introducing one Mac to the setup means new hardware to buy, a machine nobody wants to maintain, and a release process that depends on whoever has it running.
Odevio runs the iOS build on Apple hardware on your behalf. Your Linux machine sends the project, Odevio provisions a Mac, installs your certificates and provisioning profiles, runs the build and releases the Mac when it is done. You get a signed app back and never install Xcode.
Because it is Apple hardware rather than a virtualised copy of macOS, you are not one Xcode release away from a broken pipeline, and you are not in breach of Apple’s licence terms.
The Odevio CLI installs with pip and is designed to be called from anything that can run a command, which makes it a natural fit for Linux-based automation.
Install with pip, authenticate once, then start builds and fetch artifacts from any shell script.
Your CI stays on Linux runners and calls out to Odevio for the iOS step. Preconfigured integrations are published on our GitHub.
A publication build uploads the signed app for you, so a Linux-only team can still ship TestFlight releases.
When a project needs a real Xcode change, a configuration build gives you a remote desktop on one of our Macs for as long as you need it.
$ pip install odevio
$ odevio signup
$ odevio build start --build-type configuration
There is also a native Odevio desktop app for Linux if you would rather work from a graphical interface.
Everything except the iOS build step, which needs Xcode on macOS. Odevio runs that step on a remote Mac so your side of the workflow stays on Linux.
Apple’s licence terms restrict macOS to Apple hardware, and these setups break often with new Xcode versions. Building on real Macs avoids both issues.
Yes. The CLI and API are made for automation, so a Linux runner can start a build, wait for it and collect the signed result.
Yes. Apple requires a paid membership for signing, TestFlight and App Store publication.
Install the CLI, create your account and launch your first iOS build. Every new account starts with a free trial, no Mac and no credit card needed to try it.
$ pip install odevio