Build an iOS Capacitor app from Windows
No Mac? You can still ship a Capacitor iOS app. How to build, sign, and submit an iOS app from a Windows machine using cloud CI runners — and ship every web-layer change after with OtaKit.
You're on Windows (or Linux), you've built a great Capacitor app, and the App Store wants a signed iOS binary that — officially — only Xcode on a Mac can produce. You don't need to buy a Mac. Cloud CI runners rent you a Mac for the few minutes a build takes. This guide covers shipping an iOS Capacitor app without owning Apple hardware, and iterating after with OtaKit.
Honest framing: you still need a Mac to compile iOS — you just rent one in the cloud per build instead of owning one. What you avoid is the hardware, not the requirement.
The approach: CI macOS runners
GitHub Actions, Codemagic, and others provide macOS runners with Xcode preinstalled. You push your code; the runner checks it out, builds the iOS app, signs it, and uploads to App Store Connect. You never touch a physical Mac.
1. Develop and test everything else locally
On Windows you can build your web app, run it in the browser, and even build and test the Android app fully — Android Studio runs everywhere. Only the final iOS compile needs the cloud Mac.
2. Handle iOS signing in CI
The genuinely fiddly part is certificates and provisioning profiles on a runner. Store them as CI secrets and import them at build time — the exact pattern is in building and signing iOS in GitHub Actions.
3. Build and upload from the workflow
The runner runs the same commands you would on a Mac, then uploads the .ipa to App Store Connect. From Windows, your involvement is git push.
4. Then ship everything else over the air
Here's where it gets genuinely comfortable: after that first cloud-built binary is live, most of your changes are web-layer and go out over the air from your Windows machine — no runner, no Mac, no wait:
otakit upload --release production
You only trigger a cloud iOS build again when you change native code. Day to day, you develop and ship entirely from Windows.
This is a big deal for solo devs and Windows-first teams: the Mac requirement shrinks from “buy hardware and build every release on it” to “a cloud runner for occasional native builds.”
Where to go next
See CI automation and the Android build guide for the platform you can build locally.