Build an iOS app without a Mac, and put it on the App Store.
Yes, you can. Xcode only runs on macOS, but the Mac that compiles, signs and uploads your app does not have to be yours: a cloud build service does that on Apple hardware while you work from Windows, Linux or a Chromebook. Since 28 April 2026 Apple requires every App Store Connect upload to be built with Xcode 26 or later against an iOS 26 SDK, and the one cost nobody can skip is the Apple Developer Program at $99 a year.
Below: five real ways to do it with October 2026 prices, a picker that chooses one for you, and the exact steps from a Windows PC to TestFlight and App Review.
Compare the five optionsWhy does Apple's toolchain need a Mac at all?
Apple's compiler, simulator and signing tools ship inside Xcode, and Xcode installs on macOS only. Apple's Xcode support page lists a "Supported macOS Versions" column for every release. The newest, Xcode 27.2, needs macOS Tahoe 26.6 or later. Apple distributes it through the Mac App Store and lists only macOS versions as install targets.
The upload tools split the same way. Apple's upload guide lists Xcode, Swift Playground, altool and Transporter, plus the App Store Connect API. altool runs through xcrun, which comes with Xcode. Transporter is a macOS app from the Mac App Store. The App Store Connect API is a REST API authenticated with JSON Web Tokens, so any machine that can make a web request can use it. Expo states that EAS Submit works from any OS, including Windows and Linux for iOS.
That is the whole trick. Your laptop never runs Xcode. A Mac in a data centre does the compiling and signing, and an API key does the uploading. App Store Connect, where you write the listing and press submit, is a website.
One rule applies to whatever Mac does the build. Apple's Upcoming Requirements page says that since 28 April 2026, apps uploaded to App Store Connect must be built with Xcode 26 or later using an SDK for iOS 26, iPadOS 26, tvOS 26, visionOS 26 or watchOS 26. A cloud builder carries that requirement for you. A stale one gets your upload refused.
What are the ways to build an iOS app without a Mac?
Five routes work today. They differ on who writes the code, who handles signing and how much of the release is manual. Every price below is exclusive of the $99 a year Apple membership, which all five need.
| Option | Cost, October 2026 | Skill needed | Who signs | How the upload happens | Time to first TestFlight build |
|---|---|---|---|---|---|
| Newly | From $25 a month, plus $99 a year for Apple | None. You describe the app in plain English | Sign in to Apple once in the Ship to TestFlight card; Newly sets up the bundle ID, app record and signing | Newly builds on a cloud Mac, signs and uploads to App Store Connect in 10 to 25 minutes | One session after enrolment: cloud build, upload, then Apple's processing |
| Expo EAS Build + EAS Submit | Free plan: up to 15 iOS builds a month. Starter: $19 a month plus usage. Plus $99 a year | You write and maintain an Expo or React Native app and run the eas CLI | EAS generates and manages certificates and profiles, or uses yours | EAS Submit uploads the .ipa to App Store Connect, from any OS | Config, credentials, queue, build, submit, then Apple's processing |
| Codemagic or GitHub Actions macOS runners | Codemagic: 500 free M2 minutes a month, then $0.095 a minute. GitHub: $0.062 a minute on standard macOS. Plus $99 a year | You write a pipeline in YAML and handle signing and publishing steps | Codemagic signs through an App Store Connect API key. On GitHub you script it | A pipeline step with an App Store Connect API key | After the pipeline works. Codemagic advises a manual first upload |
| Rented cloud Mac (MacinCloud, AWS EC2 Mac) | MacinCloud from $25 a month managed, $4 a day pay as you go. AWS bills a 24 hour minimum per host. Plus $99 a year | You drive Xcode over a remote session | You, in Xcode, signed in to your Apple account | Xcode Organizer or Transporter on the rented Mac | The full manual Xcode release flow on a remote desktop |
| Buy a Mac mini | From $899 in the US for the M6 model, once. Plus $99 a year | You use Xcode | You, in Xcode | Xcode Organizer or Transporter | Delivery, then Xcode download and setup, then the manual release flow |
Prices read from each vendor's own page on 27 October 2026. Time to first build is described by steps, because setup time depends on you; the one fixed part is Apple processing the upload before it shows in TestFlight, which Expo's docs put at usually 10 to 15 minutes.
Try it
Pick your path to the App Store
Answer three questions and get the option that fits, with the reason in one line. Prices are the ones printed on each vendor's page in October 2026.
Your path
Newly
You describe the app in plain English and Newly builds, signs and uploads it. Plans start at $25 a month, and you never touch Xcode or a certificate.
Read the detailsHow does each option work in practice?
1. Newly: describe the app, skip the whole toolchain
Newly is the only option here that writes the app as well as building it. You describe what you want in plain English and Newly generates a complete React Native app, with its own backend for sign-in, a Postgres database and file storage when the app needs one. You watch it run on iOS and Android cloud simulators in your browser while you refine it.
Builds run in the cloud, so Windows, Linux and a Chromebook all work. Ask the agent to publish to TestFlight and a Ship to TestFlight card opens. Sign in to Apple there once, and Newly creates the app record in App Store Connect, registers the bundle ID, turns on the capabilities your app uses, then builds on a cloud Mac, signs and uploads, usually in 10 to 25 minutes. That upload is what puts a build in TestFlight, and it does not use your credits. You own 100% of the source: download it as a ZIP or keep it in sync with your own GitHub repository. Plans start at $25 a month. See the iOS app builder guide or the online iOS app builder for the full workflow.
2. Expo EAS Build and EAS Submit: your code, Expo's Macs
If you already write Expo or React Native, EAS is the standard route. Expo's docs say iOS builds run on macOS runners in Expo's cloud and that EAS can generate and manage your provisioning profiles and distribution certificates. The free plan on expo.dev/pricing includes up to 15 iOS builds a month on a low priority queue with a 45 minute timeout. Starter is $19 a month plus usage with a $45 credit and the high priority queue. On paid plans an iOS build is billed at $2 on a medium worker or $4 on a large one. EAS Submit is included on every plan.
The catch is the work around the build: profiles in eas.json, credentials, an App Store Connect API key for non-interactive runs and the queue. Our EAS Build guide walks through profiles, credentials and queue times.
3. Codemagic or GitHub Actions: a pipeline you own
Codemagic's individual plan includes 500 free macOS M2 minutes a month. Pay as you go is $0.095 a minute on a Mac mini M2 and $0.114 on an M4. Its publishing docs say it uses an App Store Connect API key with App Manager permission to sign and publish to TestFlight, and recommend creating the app record and uploading the first version by hand. GitHub Actions bills standard macOS runners at $0.062 a minute. A 15 minute iOS job is therefore about $0.93 at that rate, before you have written the signing and upload steps yourself.
This is the right home for a native Swift project that you want built on every push. It is more setup than EAS and far more than Newly. The App Store Connect CLI guide covers the upload tools a pipeline calls.
4. A rented cloud Mac: real Xcode, someone else's hardware
MacinCloud's checkout page lists pay as you go from $4 a day, a managed server from $25 a month and a dedicated server from $49 a month. AWS sells EC2 Mac as Dedicated Hosts, billed per second with a 24 hour minimum allocation period; AWS says the minimum is tied to Apple's macOS licence terms, and AWS publishes the hourly rate in its pricing calculator rather than on the product page. Either way you are using Xcode over a remote desktop, so the manual release steps are exactly the Mac steps, including signing in with your Apple account.
5. A Mac mini: the permanent answer
Apple's newsroom states that Mac mini with M6 starts at $899 in the US, with M5 Pro at $1,699, and both went on sale on 22 September 2026. Education pricing is $799 for the M6 model. Buying makes sense if you ship native Swift apps every month for years. For a first app, $899 buys 36 months of Newly's lowest plan, and the Mac still leaves you doing the signing yourself.
What do you still need, whichever way you build?
An Apple Developer Program membership. Apple's enrolment page states it costs 99 USD per membership year and needs an Apple Account with two-factor authentication turned on. Individuals enrol under their legal name. Organisations need a D-U-N-S number, a public website and someone with the legal authority to bind the company. You can enrol on the web.
An App Store Connect account. It comes with the membership. It is a website where you create the listing, add screenshots and privacy answers, manage TestFlight and submit for review.
An iPhone, if you can get one. It is not required to build, upload or submit. Testers install a TestFlight build through the free TestFlight app on their own device, so the real build wants a real phone. For daily work, Newly's browser preview is enough. Our TestFlight without a Mac guide covers installing and sharing builds step by step.
For Android you also need a Google Play developer account, a one-time $25 fee. Newly builds a standalone APK that installs on any Android phone, and publishes to Google Play internal testing.
How do you go from idea to App Store on a Windows PC with Newly?
Seven steps. The first one is the only wait you cannot shorten, so start there.
- 1
Enrol in the Apple Developer Program
Go to developer.apple.com/programs/enroll with an Apple Account that has two-factor authentication on, and pay the $99 for the membership year. Apple verifies your details before the membership is active, so do this before anything else and keep building while you wait.
- 2
Describe your app in Newly
Write what the app does and who it is for, in plain English. Newly writes a React Native app and runs it on iOS and Android cloud simulators in your browser. Change what you do not like by asking.
- 3
Connect Apple in the Ship to TestFlight card
Ask the agent to publish to TestFlight. In the card, sign in with your Apple ID and the 6-digit code Apple sends to your devices, pick your team, then pick your app or create a new one. Newly creates the app record, registers the bundle ID and sets up signing under your membership.
- 4
Build for iOS
Press Send to TestFlight. Newly builds on a cloud Mac, signs and uploads to App Store Connect, usually in 10 to 25 minutes, so your Windows PC only needs a browser. That upload is what puts a build in TestFlight.
- 5
Test it in TestFlight
Once Apple finishes processing the build, add yourself as an internal tester (Apple allows up to 100 App Store Connect users) and install it with the TestFlight app on an iPhone. External testers need the first build approved by App Review for TestFlight.
- 6
Finish the listing in App Store Connect
In your browser, add screenshots, description, keywords, a support URL, a privacy policy URL, the age rating, the App Privacy answers and the export compliance answers, then choose your build.
- 7
Submit for review
Submit the version from App Store Connect. App Review decides, and you fix and resubmit if it says no. When it approves, you release the app.
The same flow in more depth lives in how to publish an app to the App Store, and how to upload a build to App Store Connect explains how to find the build once it lands. For the full price of the journey, see what it costs to publish an app.
What are the common traps?
Two-factor authentication without an Apple device
Enrolment requires two-factor authentication on your Apple Account. Apple says the six-digit code is displayed on your trusted devices or sent to your trusted phone number, and that you may be asked for one when you sign in on the web. On a Windows PC with no Apple device, the trusted phone number is your lifeline. Check it is current before you enrol, and keep that phone within reach on release day.
Signing certificates and API keys
Every iOS build must be signed with a distribution certificate and a provisioning profile. Newly and EAS create and manage them for you. On a rented Mac or in a hand-built pipeline, you do. Pipelines authenticate with an App Store Connect API key, and Apple states that the Account Holder must request access to the API first, which Apple reviews case by case. Ask for it early, because it blocks everything that follows.
Review still applies
A cloud build changes where the app is compiled. It does not change who reviews it. Your app is judged against the App Review Guidelines, and a thin wrapper around a website is the classic early rejection. Read the minimum functionality guide before you submit. For TestFlight, Apple sends the first build you add to an external group to review as well; see how iOS TestFlight works.
Hackintosh and virtual machines
Installing macOS on a PC, or in a VM on a PC, is what Apple's licence rules out. The macOS Tahoe 26 licence is titled "For use on Apple-branded Systems", and Section 2.J says the grants do not permit you to install, use or run the software on any non-Apple-branded computer. Renting is a different matter. Section 3 of the same licence covers leasing macOS for developer services with a minimum lease period of 24 consecutive hours, which matches the 24 hour minimum AWS applies to EC2 Mac.
Questions people ask about building iOS apps without a Mac
Yes. Xcode runs only on macOS, but a cloud service can do the compiling, signing and uploading on Apple hardware while you work from Windows, Linux or a Chromebook. Newly, Expo EAS Build and Codemagic all do this. You still need a paid Apple Developer Program membership at $99 a year to publish.
Ship your iPhone app from the PC you already own
Describe the app, watch it run in the cloud simulator, and let Newly build, sign and send it to App Store Connect. Plans start at $25 a month.
Start building