Can you build an iPhone app without a Mac? Costs compared

Yes: cloud build services start free. Codemagic gives 500 Mac minutes a month, Expo EAS 15 iOS builds, and an AWS Mac host costs $15.60 for its 24-hour minimum.

Yes, you can build and ship an iPhone app without owning a Mac, but something in the chain still runs macOS: a cloud build service or a rented Mac. As of October 2026 the cheapest routes are free to start: Codemagic includes 500 Mac build minutes a month, Expo’s EAS Free plan includes 15 iOS builds a month, and a full remote Mac on AWS costs $15.60 for its 24-hour minimum (M1, US East). Whichever you pick, publishing to the App Store still needs Apple’s $99 a year developer membership.

The figures below come from each company’s own pricing pages and docs, read on October 26, 2026. AWS’s hourly rates come from the price data its Dedicated Hosts pricing page loads, published October 23, 2026. We haven’t built apps on these services ourselves. Prices are in US dollars, before tax.

Why do you need a Mac at all?

Xcode is Apple’s tool for building, signing and uploading iPhone apps, and Apple lists only macOS versions as its supported platforms. On Apple’s Xcode system requirements page, Xcode 27, 27.1 and the 27.2 release candidate all need “macOS Tahoe 26.6 or later.” There is no Windows or Linux version, which is why searches for “Xcode for Windows” lead nowhere official.

Apple also moves the bar each year. Since September 2026 developers can submit apps built with Xcode 27, and from April 2027 iOS apps uploaded to App Store Connect must use the iOS 27 SDK or later (our update on the iOS 27 SDK rule). So whatever Mac you build on, rented or not, it has to run a recent macOS.

That leaves three ways to work from a Windows or Linux PC:

  • A cloud build service (Expo EAS, Codemagic, GitHub Actions, Xcode Cloud) runs the macOS build for you. You write code on your own machine, often in React Native or Flutter, and the service compiles, signs and can upload the app.
  • A rented Mac you log in to remotely, such as an Amazon EC2 Mac instance. You get a full macOS desktop over SSH or Apple Remote Desktop, so you can run Xcode itself.
  • A no-code or AI builder that handles the build in its own cloud. Our best iOS app builders roundup covers those.

What does each option cost?

Option What you get free Paid rate Billing
Codemagic (Pay as you go) 500 macOS M2 minutes a month, 1 build at a time $0.095 a minute (Mac mini M2); $0.114 (M4) Per minute, billed monthly
Expo EAS Free plan: up to 15 iOS and 15 Android builds a month, low-priority queue Starter $19 a month with $45 of build credit; iOS build $2 (medium) or $4 (large) Monthly plan plus usage
GitHub Actions Public repositories free on standard runners macOS 3-core or 4-core: $0.062 a minute Per minute, rounded up per job
Xcode Cloud 25 compute hours a month with the $99 developer membership 100 hours $49.99 a month; 250 hours $99.99 Monthly subscription
AWS EC2 Mac (M1, mac2) None $0.65 an hour, 24-hour minimum Per second after the minimum
AWS EC2 Mac (M2, mac2-m2) None $0.878 an hour, 24-hour minimum Per second after the minimum
AWS EC2 Mac (M2 Pro) None $1.56 an hour, 24-hour minimum Per second after the minimum

AWS rates are On-Demand Dedicated Host prices in US East (N. Virginia). AWS’s M4 and M4 Pro Mac types are listed on its product page, but the price data we read had no US East rate for them, so they are left out.

MacinCloud, the best-known Mac rental brand, blocked automated reading of its site when we checked, so we can’t quote its prices. Check its pricing page directly before you compare.

Cloud build services: Codemagic, Expo EAS, GitHub Actions and Xcode Cloud

Codemagic builds Flutter, React Native and native apps on its own Mac minis. Its free plan for individuals gives “500 free macOS M2 minutes / month,” one build at a time, a 120-minute limit per build and 30 days of build history. After that, Pay as you go charges $0.095 a minute on an M2 and $0.114 on an M4, with no base fee. Teams that build all day can buy a fixed annual plan instead: $3,990 a year for the M2 tier with three concurrent builds and unlimited minutes. More on our Codemagic page.

Expo EAS is the cloud service behind the free, open-source Expo framework for React Native. The Free plan includes up to 15 iOS builds a month and submission to the App Store, but builds wait in a low-priority queue; Expo warns that “at peak times, you may experience wait times of 90+ minutes.” Starter costs $19 a month and includes $45 of build credit and a high-priority queue. Beyond the credit, an iOS build costs $2 on a medium worker or $4 on a large one. Production is $199 a month with $225 of credit. More on our Expo page.

GitHub Actions suits teams already on GitHub. A standard macOS runner (3-core or 4-core, M1 or Intel) costs $0.062 a minute, and GitHub rounds each job up to the nearest whole minute. GitHub says usage is free for public repositories on standard runners. Its plans include monthly minutes (2,000 on GitHub Free, 3,000 on Pro and Team), but the billing pages we read don’t say how macOS jobs count against those included minutes, so budget for macOS minutes at the full rate on private repositories.

Xcode Cloud is Apple’s own service. Apple says membership in the developer program “includes 25 compute hours per month,” with paid tiers of 100 hours for $49.99 a month, 250 hours for $99.99 and 1,000 hours for $399.99. The catch for this guide: Apple describes setup as configuring a workflow in Xcode, which runs on a Mac. After setup, Apple says you can edit workflows and start builds from App Store Connect on the web. So Xcode Cloud helps if you can borrow a Mac once; it isn’t a Mac-free start.

Renting a whole Mac on AWS

An Amazon EC2 Mac instance is a real Mac mini (or Mac Studio) in an AWS data center. AWS says you can “develop, build, test, and sign” apps for iPhone and other Apple devices on it, and connect over SSH or Apple Remote Desktop. That means you can run Xcode itself, not just a build script.

The rules that shape the bill, from AWS’s docs:

  • Mac instances run only on Dedicated Hosts, “with a minimum allocation period of 24 hours before you can release the Dedicated Host.” AWS’s product page attributes the minimum to Apple’s macOS license terms.
  • You pay for the host, not the instance. One Mac instance runs per host.
  • They are On-Demand only, with no Spot or Reserved Instances. Savings Plans can cut the price; AWS says by up to 44% with a three-year commitment.
  • After launch, AWS says an instance can take roughly 6 to 20 minutes to be ready.

AWS lists these Apple silicon types: M1 (mac2, 16 GB memory), M2 (24 GB), M2 Pro (32 GB), M1 Ultra (128 GB), M4 (24 GB), M4 Pro (48 GB), M4 Max and M3 Ultra, plus an older Intel mac1.

Worked example: a month of builds for a small app

Say you ship a small React Native or Flutter app and each iOS build takes about 15 minutes of Mac time (an assumption for the arithmetic; real build times vary with the project). Here is the monthly cost at 20 builds and at 100 builds, using the rates above.

20 builds a month = 300 Mac minutes

  • Codemagic: 300 minutes is inside the 500 free minutes, so $0.
  • Expo EAS: 20 iOS builds is more than the Free plan’s 15. On Starter, 20 medium builds × $2 = $40, inside the $45 credit, so $19.
  • GitHub Actions (private repo): 300 × $0.062 = $18.60.
  • Xcode Cloud: 300 minutes = 5 hours, inside the 25 included hours, so $0 beyond the $99 membership, if you have a Mac for setup.
  • AWS M1 Mac for one 24-hour session: 24 × $0.65 = $15.60.

100 builds a month = 1,500 Mac minutes

  • Codemagic: (1,500 − 500 free) × $0.095 = $95.
  • Expo EAS on Starter: 100 × $2 = $200 of builds, minus the $45 credit = $155, plus $19 = $174. Production covers it for $199 ($225 of credit), so Starter is cheaper here.
  • GitHub Actions (private repo): 1,500 × $0.062 = $93.
  • Xcode Cloud: 1,500 minutes = 25 hours, exactly the included amount, so $0 extra.
  • AWS M1 Mac kept for a whole 30-day month: 720 hours × $0.65 = $468. On the M2: 720 × $0.878 = $632.16.

Add Apple’s membership to every route: $99 a year is $8.25 a month.

The pattern is clear: per-build services are far cheaper for a small app than a Mac rented around the clock. A rented Mac makes sense in short bursts, such as a 24-hour session to set up signing, debug in Xcode or configure Xcode Cloud.

What to watch for

  • The 24-hour AWS minimum. Release the host too early and you still pay for 24 hours. Forget to release it and the meter keeps running per second.
  • Queues on free plans. Expo’s free queue can take 90 minutes or more at peak times. Codemagic’s free plan runs one build at a time.
  • Build-length caps. Codemagic’s free plan stops a build at 120 minutes.
  • Storage on AWS. AWS recommends using Amazon EBS volumes rather than the Mac’s internal SSD, and suggests 10,000 IOPS and 400 MiB/s. The host rate above doesn’t mention storage, so price EBS too.
  • Testing on a real iPhone. Cloud builds give you an app file, not a debugger on your desk. TestFlight, included in the $99 membership, is the usual way to put builds on your own devices.
  • The free Apple account limit. Without the paid program, Apple’s free Personal Team can install apps on up to 3 devices, and those registrations expire after 7 days. That only works from Xcode on a Mac anyway.
  • Fee waivers are narrow. Apple waives the $99 fee only for qualifying nonprofits, accredited schools and government entities, not individuals or one-person businesses, and not if they sell paid apps or in-app purchases.

Which should you choose?

  • A beginner or hobbyist on Windows writing React Native: Expo EAS Free. 15 iOS builds a month and App Store submission cost nothing; upgrade to Starter ($19 a month) when the queue or the limit bites.
  • A Flutter developer: Codemagic’s 500 free minutes cover a small app’s month, and the $0.095 rate after that is predictable.
  • A team already using GitHub: GitHub Actions keeps builds next to the code; budget $0.062 a macOS minute on private repositories.
  • Someone with occasional access to a Mac: Xcode Cloud’s 25 included hours are the best value once a workflow is set up, since the hours come with the membership you need anyway.
  • A developer who needs Xcode itself, not just builds: rent an AWS Mac in 24-hour blocks for setup and debugging, then hand routine builds to a per-minute service.

For a wider look at tools that build iPhone apps, see our iOS app builders hub and the Xcode page.

Sources