Back to blog
GuideXcodeiOSWindowsFlutterReact NativeCI/CD

Xcode on Windows: How to Build an iOS App Without a Mac in 2026

November 5, 20267 min readby Macyou Team

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

RouteWhat it doesPriceFits
Expo EAS Build and EAS SubmitBuilds the iOS app in Expo’s cloud and uploads it to App Store ConnectFree: up to 15 iOS builds a month at low priority. Starter: $19 a month with $45 of build creditReact Native apps that use Expo
CodemagicCloud CI on Mac mini machines for Flutter, React Native and native projects500 free macOS M2 minutes a month, then $0.095 a minute on M2 or $0.114 on M4Flutter
GitHub Actions macOS runnersRuns your build script (xcodebuild, fastlane) on a hosted MacFree in public repositories. Private: $0.062 a minute, with $12 a month of included compute on GitHub Free and $18 on ProTeams already on GitHub with scripted builds
Xcode CloudApple’s own CI, tied to App Store Connect25 compute hours a month included with the Developer Program; 100 hours for $49.99 a month, 250 for $99.99Native apps; Apple requires the first workflow to be set up in Xcode on a Mac
A cloud Mac you rentA whole Mac: Xcode, the Simulator, Instruments, a remote desktop and SSHMacyou M4 Mac mini, 16 GB: $80/mo billed annually or $99 billed monthlyNative 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.

RouteMonthly 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 Freeabout $16 after the $12 of included compute
Expo EAS30 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.

RouteMonthly cost
Xcode Cloud$49.99 for the 100 hour plan
GitHub Actions at list priceabout $327
Codemagic at the M2 rateabout $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

  1. Choose 16 GB of memory for one project and one Simulator, or 24 GB and more for parallel builds.
  2. Connect from your PC with the remote desktop in your browser, or over SSH for scripted builds.
  3. 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.
  4. Open your project, sign in with your Apple ID in Xcode, archive the app and upload it to App Store Connect.
  5. 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.

Rent a dedicated M4 Mac mini

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