Skip to content

Instantly share code, notes, and snippets.

@swapp1990
Created February 6, 2026 17:23
Show Gist options
  • Select an option

  • Save swapp1990/13d115f7f2bd300c4f900d73be754bb2 to your computer and use it in GitHub Desktop.

Select an option

Save swapp1990/13d115f7f2bd300c4f900d73be754bb2 to your computer and use it in GitHub Desktop.
The Complete State of iOS Development on Windows in 2026 — Can you build, test, and ship an iPhone app to the App Store without owning a Mac?

The Complete State of iOS Development on Windows in 2026

Can you build, test, and ship an iPhone app to the App Store without owning a Mac?

Yes. In 2026, it is entirely possible to develop, test, and publish an iOS app from a Windows PC. This guide covers everything you need to know — no technical jargon, just a clear picture of what works, what doesn't, and what it costs.


Table of Contents

  1. The Short Answer
  2. How It Actually Works
  3. The Development Experience
  4. Testing on Your iPhone
  5. Getting Your App to TestFlight
  6. Publishing to the App Store
  7. App Clips — The One Area That Gets Tricky
  8. When You Actually Need a Mac
  9. The Cost Breakdown
  10. Cloud Mac Options When You Need One
  11. Comparison of Approaches
  12. Common Misconceptions
  13. The Honest Pros and Cons
  14. Conclusion

The Short Answer

A solo developer on Windows can build a full-featured iPhone app and get it on the App Store for $99 per year — the cost of an Apple Developer account. No Mac purchase necessary. The tools that make this possible are React Native with Expo, and a cloud service called EAS (Expo Application Services) that handles the Mac-only parts for you remotely.

This is not a workaround or a hack. This is a legitimate, well-supported workflow used by thousands of developers worldwide.


How It Actually Works

Traditionally, building an iPhone app required a Mac because Apple's development tools (Xcode, the iOS Simulator, code signing) only run on macOS. That was a real barrier — a Mac mini starts at $599, a MacBook at $999+.

The modern approach sidesteps this by splitting the work into two parts:

  1. Writing code — This is just text editing. You can do it on any computer, with any operating system.
  2. Compiling the app into something an iPhone can run — This is the part that needs macOS. Cloud services now handle this for you.

Think of it like writing a book versus printing a book. You write on whatever computer you have. When it is time to print, you send it to a print shop (the cloud) that has the right equipment.


The Development Experience

What You Use

  • React Native — A framework created by Meta (Facebook) that lets you build real iPhone apps using JavaScript or TypeScript instead of Apple's Swift language. The apps are not "web apps pretending to be apps." They compile to real native interfaces.
  • Expo — A platform built on top of React Native that simplifies everything. It handles configuration, building, signing, and submitting your app.
  • VS Code — A free code editor from Microsoft. This is where you write your code on Windows.
  • Your iPhone — For testing. You see changes on your actual phone as you code.

What the Workflow Feels Like

You open VS Code, write code, save, and within a second or two, your iPhone refreshes to show the change. This is called "hot reload" and it works over your local Wi-Fi network. The experience is fast and fluid — very similar to what developers on Macs experience.

You do not need to wait for cloud builds during normal development. The cloud is only involved when you need to create a fresh installable version of your app (more on that below).


Testing on Your iPhone

There are two ways to test your app on your physical iPhone, depending on what your app does.

Option 1: Expo Go (Free, Instant, No Apple Developer Account)

Expo Go is a free app you download from the App Store onto your iPhone. When you run your project on Windows, it generates a QR code. You scan it with your phone, and your app loads inside Expo Go.

Advantages:

  • Completely free
  • No Apple Developer account needed
  • Instant — no build step required
  • Hot reload works immediately

Limitations:

  • Only supports features built into the Expo framework
  • If your app uses specialized third-party services (like in-app purchases, certain payment processors, or custom native features), Expo Go cannot run them

For many apps, especially in the early stages, Expo Go is all you need.

Option 2: Development Builds (Requires Apple Developer Account — $99/year)

When your app needs features that Expo Go cannot handle, you create a "development build." This is a custom version of your app that includes all your specific dependencies, built in the cloud by EAS.

You run a single command on your Windows PC. EAS compiles it on a Mac in the cloud and gives you a link to install it on your iPhone. Once installed, it works just like Expo Go — hot reload, instant feedback — but with full access to every feature your app needs.

You only need to create a new development build when you add or change native dependencies (maybe once or twice a month). Day-to-day coding uses the same build with hot reload.


Getting Your App to TestFlight

TestFlight is Apple's official platform for beta testing. It lets you share your app with up to 10,000 testers before it goes live on the App Store. Getting your app onto TestFlight from Windows is straightforward.

From your Windows terminal, you run:

npx testflight

That single command:

  1. Builds your app in the cloud
  2. Signs it with your Apple credentials
  3. Uploads it to Apple's servers
  4. Makes it available in TestFlight

Your testers download the TestFlight app from the App Store, accept your invitation, and they can install and test your app. The whole process takes about 15–30 minutes from command to testable build.


Publishing to the App Store

Once you are happy with your app after TestFlight testing, publishing to the App Store also works entirely from Windows.

  1. Build your production app with one command
  2. Submit it to Apple with another command
  3. Complete the listing (screenshots, description, pricing) through App Store Connect, which is a website that works in any browser

Apple reviews your app (typically 24–48 hours), and once approved, it goes live on the App Store. At no point in this process do you need a Mac.


App Clips — The One Area That Gets Tricky

App Clips are lightweight versions of your app that people can use instantly without installing the full app. They appear when someone scans a QR code, taps an NFC tag, or clicks a link in Safari or Messages.

The Size Problem

Apple enforces strict size limits on App Clips:

  • From links in Safari or Messages: 50 MB maximum (iOS 17 and later)
  • From NFC tags or QR codes: 15 MB maximum

A typical React Native app, even a minimal one, is around 20–40 MB. This means:

  • Link-based App Clips (50 MB limit) are achievable with React Native from Windows using a library called react-native-app-clip and EAS Build
  • NFC/QR-based App Clips (15 MB limit) are nearly impossible to fit within a React Native bundle

What This Means Practically

If your App Clip only needs to work from web links and messages, you can build it from Windows. If it needs to work from physical NFC tags or QR codes, you will likely need to write that specific piece in Apple's native Swift language, which requires Xcode, which requires macOS. This is the one scenario where renting a cloud Mac becomes necessary.


When You Actually Need a Mac

For most iOS development, you do not need a Mac at all. Here are the specific situations where macOS is required:

Task Mac Required? Why
Writing app code No Just text editing
Testing on your iPhone No Expo Go or EAS dev builds
Building your app No EAS Build does it in the cloud
Submitting to TestFlight No npx testflight from Windows
Publishing to the App Store No EAS Submit from Windows
Running the iPhone Simulator Yes Apple restricts this to macOS
Debugging native crashes Yes Xcode's debugger is macOS-only
Building a native Swift App Clip Yes Xcode is macOS-only
Using Xcode's visual design tools Yes macOS-only software

The pattern is clear: anything that involves Apple's Xcode software requires a Mac. Everything else can be done from Windows.


The Cost Breakdown

The Essentials (What Most Solo Developers Pay)

Item Cost Notes
Apple Developer Program $99/year Required for any App Store publishing
EAS Build (free tier) $0/month 15 iOS builds per month included
EAS Submit $0/month Included with all EAS plans
VS Code $0 Free and open source
Expo Go $0 Free app on the App Store
Total $99/year

If You Need More Builds

EAS Plan Cost iOS Builds
Free $0/month 15 per month
Starter $19/month ~23 medium builds
Production $199/month ~113 medium builds

Most solo developers never exceed the free tier, especially when using over-the-air updates (pushing code changes without rebuilding).

If You Need a Cloud Mac

Service Cost Best For
Codemagic Free (500 min/month) Automated builds in CI/CD
GitHub Actions Free (~200 macOS min/month) Automated builds tied to code pushes
Scaleway ~$3/day Occasional interactive Xcode sessions
XcodeClub ~$34/month Regular Xcode access
MacStadium ~$199/month Professional/enterprise use

Cloud Mac Options When You Need One

If you find yourself in a situation where macOS is required (App Clips in native Swift, iOS Simulator testing, native debugging), you do not need to buy a Mac. Several services rent Mac hardware in the cloud.

For Automated Builds (No Interactive Access Needed)

Codemagic gives you 500 free minutes per month of Apple Silicon Mac build time. You configure it once, and every time you push code, it automatically builds your app. No interactive access — you do not "log in" to a Mac — but for building and submitting apps, this is all you need.

GitHub Actions offers about 200 free macOS minutes per month. Similar concept — automated builds triggered by code changes.

For Interactive Xcode Work

When you need to actually use Xcode (design interfaces visually, debug native code, run the iPhone Simulator), you need interactive access to a Mac desktop.

Scaleway offers Mac minis at about $3 per day. You connect via remote desktop and use the Mac as if it were sitting on your desk.

XcodeClub offers monthly plans starting around $34. Good if you need regular but not daily access.

These are real Mac hardware running in data centers — not emulators or virtual machines. Apple requires that macOS runs on Apple hardware, and these services comply with that requirement.


Comparison of Approaches

Approach Upfront Cost Monthly Cost Hassle Level Capability
Windows + Expo + EAS (cloud) $0 $0 (+$99/yr Apple) Low 95% of what you need
Windows + Cloud Mac for native work $0 $0–34 (+$99/yr Apple) Medium 100%
Buy a Mac mini $599+ $0 (+$99/yr Apple) Low 100%
Buy a MacBook $999+ $0 (+$99/yr Apple) Low 100%
Hackintosh (macOS on PC) $0 $0 (+$99/yr Apple) Very High Unreliable, violates Apple TOS

The Windows + Expo + EAS approach offers the best cost-to-capability ratio. You sacrifice the iOS Simulator and native Xcode tools, but gain a workflow that is faster and simpler for the vast majority of app development.


Common Misconceptions

"Apps built with React Native are not real apps"

This is outdated. React Native compiles to native iOS components. Facebook, Instagram, Shopify, Discord, and Bloomberg all use React Native. Apple cannot tell the difference between a React Native app and a Swift app when reviewing it for the App Store.

"You need a Mac to submit to the App Store"

Not anymore. EAS Submit handles the entire submission process from any operating system. The code signing, packaging, and uploading all happen in the cloud.

"Cloud builds are slow and unreliable"

Cloud builds on the EAS free tier are queued and can take 15–45 minutes. But during active development, you rarely need to rebuild — hot reload means your code changes appear on your phone in seconds. You only trigger cloud builds when adding new native dependencies or preparing a release. Paid tiers have near-instant queue times.

"You need the iOS Simulator to develop"

While the Simulator is useful, testing on a real iPhone is actually better. You catch real-world performance issues, test actual touch interactions, and see exactly what your users will see. Many Mac-based developers primarily test on physical devices anyway.

"This only works for simple apps"

React Native with Expo supports push notifications, in-app purchases, camera access, location services, biometric authentication, offline storage, animations, maps, payments, and virtually every feature a modern app needs. The ecosystem has matured significantly.


The Honest Pros and Cons

Pros of Developing iOS Apps on Windows

  • Save $599–$2,000+ by not buying a Mac
  • Use the computer you already have and are comfortable with
  • Cloud builds handle the complexity of Xcode, code signing, and provisioning
  • Hot reload on a physical device is arguably a better testing experience than the Simulator
  • One codebase can target both iOS and Android (React Native is cross-platform)
  • Lower barrier to entry for new developers who want to try iOS development

Cons of Developing iOS Apps on Windows

  • No iOS Simulator for quick visual testing without a physical device
  • Cloud build queue times on the free tier (15–45 minutes) when you do need to rebuild
  • Limited to 15 free iOS builds per month (usually sufficient, but a constraint)
  • Cannot debug native crashes without macOS access
  • App Clips with strict size limits require native Swift and therefore a Mac
  • Some very niche native APIs may not have React Native wrappers yet
  • If something goes wrong at the native level, troubleshooting is harder without Xcode

Conclusion

The state of iOS development on Windows in 2026 is remarkably capable. What was once impossible, then impractical, is now a well-supported, cost-effective workflow. The combination of React Native, Expo, and EAS cloud services has removed the Mac as a hard requirement for the vast majority of iOS app development.

For $99 per year — just the Apple Developer account — a Windows developer can write code, test on a real iPhone with instant hot reload, submit to TestFlight for beta testing, and publish to the App Store. No Mac needed at any step.

The only scenarios that still require macOS are niche: native Swift development for ultra-lightweight App Clips, iOS Simulator access, and deep native debugging. Even these can be handled affordably with cloud Mac rentals starting at $3 per day, used only when needed.

If you have been holding off on iOS development because you did not want to buy a Mac, 2026 is the year that excuse no longer holds.


Last updated: February 2026

This document reflects the state of tools and pricing as of early 2026. Expo, EAS, and cloud service pricing may change. Apple Developer Program pricing has been $99/year since its inception and is not expected to change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment