Xcode on Windows: How to Build an iOS App Without a Mac in 2026
There is no Xcode for Windows. Apple ships Xcode only for macOS, and Apple’s macOS licence does not cover running macOS in a virtual machine on a PC. You can still build and publish an iOS app while you work on Windows: write the code on your PC and hand the Apple specific steps (building, signing, uploading) to a Mac, either through a cloud build service or a Mac you rent or buy. Which one fits depends on whether you use Expo, Flutter or native Swift. Prices below were checked on 5 November 2026.
Why Xcode does not run on Windows
Xcode is distributed only through the Mac App Store, and the iOS SDK, the Simulator and the code signing tools ship inside it. Xcode 27 needs macOS Tahoe 26.6 or later; the Xcode system requirements page lists which Macs qualify. Swift itself has an official Windows toolchain, but the iPhone frameworks such as UIKit and SwiftUI for iOS do not come with it, so it cannot produce an iOS app.
Running macOS in a virtual machine on a Windows PC is the workaround that keeps coming up on forums. Apple’s licence for macOS Tahoe 26 allows macOS on Apple branded computers only, and its virtualization clause (section 2B) permits up to two extra copies in virtual machines on a Mac you own or control that already runs macOS. A virtual machine on PC hardware is outside those terms. It also tends to break with macOS updates, and macOS 27 runs on Apple silicon only, so a PC based setup has no route to the macOS versions that future Xcode releases will require.
What you need on every route
- An Apple Developer Program membership, $99 a year, to sign apps for devices, use TestFlight and publish on the App Store.
- An iPhone for testing helps a lot. The Simulator runs only on macOS, but TestFlight installs your builds on your own phone whichever route you choose.
Five ways to build an iOS app from Windows
| Route | What it does | Price | Fits |
|---|---|---|---|
| Expo EAS Build and EAS Submit | Builds the iOS app in Expo’s cloud and uploads it to App Store Connect | Free: up to 15 iOS builds a month at low priority. Starter: $19 a month with $45 of build credit | React Native apps that use Expo |
| Codemagic | Cloud CI on Mac mini machines for Flutter, React Native and native projects | 500 free macOS M2 minutes a month, then $0.095 a minute on M2 or $0.114 on M4 | Flutter |
| GitHub Actions macOS runners | Runs your build script (xcodebuild, fastlane) on a hosted Mac | Free in public repositories. Private: $0.062 a minute, with $12 a month of included compute on GitHub Free and $18 on Pro | Teams already on GitHub with scripted builds |
| Xcode Cloud | Apple’s own CI, tied to App Store Connect | 25 compute hours a month included with the Developer Program; 100 hours for $49.99 a month, 250 for $99.99 | Native apps; Apple requires the first workflow to be set up in Xcode on a Mac |
| A cloud Mac you rent | A whole Mac: Xcode, the Simulator, Instruments, a remote desktop and SSH | Macyou M4 Mac mini, 16 GB: $80/mo billed annually or $99 billed monthly | Native Swift and SwiftUI, debugging, anything interactive |
The build services only run builds: you get logs and an app file, not an Xcode window. That is enough for Expo and usually for Flutter. For native Swift work you need Xcode itself, with SwiftUI previews, the Simulator and the debugger, which means a Mac you can use interactively.
Which route fits your project
React Native with Expo
EAS Build compiles the iOS app in Expo’s cloud and EAS Submit uploads it to App Store Connect, so routine releases need no Mac at all. A Mac becomes useful when you write a native module or have to debug a crash inside Xcode.
Flutter
Flutter’s own release guide is explicit: “Xcode is required to build and release your app.” You can write the app on Windows and test it on Android, then build the iOS version on Codemagic or GitHub Actions. The first signing setup and native dependency problems are far easier to solve in a session on a real Mac.
Native Swift and SwiftUI
Here a build service is not enough. You need Xcode open every day: previews, the Simulator, breakpoints, Instruments. The options are a Mac on your desk or a Mac in the cloud that you reach from Windows over a remote desktop.
Unity and Kotlin Multiplatform
Both produce an Xcode project or framework for the iOS target, and that step runs on macOS. Any route above works; Codemagic and GitHub Actions are the usual choice for automated builds.
What it costs: two worked examples
A solo developer who runs 30 builds a month at 15 minutes each uses 450 build minutes.
| Route | Monthly cost |
|---|---|
| Codemagic | $0, inside the 500 free minutes |
| Xcode Cloud | $0 extra: 7.5 of the 25 included hours |
| GitHub Actions, private repository on GitHub Free | about $16 after the $12 of included compute |
| Expo EAS | 30 builds is more than the free 15, so Starter at $19 |
| Rented M4 Mac mini | $80 billed annually or $99 monthly, with unlimited builds and interactive Xcode |
A team that keeps builds running four hours every working day uses 5,280 minutes, or 88 hours.
| Route | Monthly cost |
|---|---|
| Xcode Cloud | $49.99 for the 100 hour plan |
| GitHub Actions at list price | about $327 |
| Codemagic at the M2 rate | about $502; Codemagic also sells a fixed team plan at $3,990 a year |
| One rented M4 Mac mini | $99 monthly; builds queue on one machine, so a second Mac doubles throughput |
For pure build volume, Xcode Cloud is hard to beat on price. A rented Mac costs more for light use and wins when you need Xcode interactively, your own tools on the machine, or a Mac that also runs nightly jobs and a self hosted runner.
Working from Windows on a rented Mac
- Choose 16 GB of memory for one project and one Simulator, or 24 GB and more for parallel builds.
- Connect from your PC with the remote desktop in your browser, or over SSH for scripted builds.
- Your account on the Mac is a standard macOS user. Installing or switching Xcode versions, accepting the Xcode licence and adding Simulator runtimes are administrator steps that an operator does on request, free and the same day.
- Open your project, sign in with your Apple ID in Xcode, archive the app and upload it to App Store Connect.
- Install the build on your iPhone through TestFlight.
The same Mac can serve as a self hosted GitHub Actions runner, as iOS CI with GitHub Actions on a dedicated Mac shows. To compare providers, see how to rent a Mac in the cloud, or weigh buying a Mac mini against renting one.
Questions
Can I install Xcode on Windows 11?
No. Xcode exists only for macOS, and that is the same on Windows 10, Windows 11 and Linux. Downloads that claim to be “Xcode for Windows” are not from Apple.
Can I build an iOS app with Flutter on Windows?
You can write it and test it on Android on Windows. Building, signing and uploading the iOS version runs on macOS, through Codemagic, GitHub Actions, Xcode Cloud or a Mac you rent or own.
Can I publish to the App Store without a Mac?
Yes with Expo: EAS Build and EAS Submit handle the build and the upload. With other frameworks a cloud build service such as Codemagic can build and upload the app. In every case you need the $99 Apple Developer Program membership.
Is macOS in VMware or VirtualBox on Windows allowed?
Apple’s macOS licence allows macOS, virtual machines included, only on Apple branded computers, so a virtual machine on a Windows PC falls outside it. This is a reading of the licence text, not legal advice.
Sources
- Apple: Xcode
- Apple: software licence agreement for macOS Tahoe 26, section 2B
- Apple Developer Program
- Apple: Xcode Cloud, included hours and plans, 5 November 2026
- Apple: configuring your first Xcode Cloud workflow
- GitHub Docs: Actions runner pricing and GitHub Actions billing, 5 November 2026
- Codemagic pricing, 5 November 2026
- Expo pricing, 5 November 2026
- Flutter docs: build and release an iOS app