# Do you need a Mac to publish an iPhone app?

> Not on your desk: iPhone apps build on macOS, but a cloud Mac can do it. Three questions show what you need, from Apple’s $99 account to a GitHub repo.

**Not on your desk.** iPhone apps are built with Xcode, which only runs on macOS — but that Mac can be a cloud machine. CapWrapp runs the build on GitHub’s macOS runners, so you can ship from Windows, Linux or a Chromebook. Android never needs a Mac. Answer three questions to see exactly what you need.

- Tool: Do I need a Mac?. Input: Answer 3 questions. Free, no signup. Runs entirely in the browser; nothing is uploaded.
- Interactive version: https://capwr.app/free-tools/do-i-need-a-mac
- All free tools: https://capwr.app/free-tools
- Last updated: 2026-10-14

## The short answer

- **iPhone:** the build needs macOS and Xcode, but not *your* Mac. Cloud macOS machines do the same job.
- **Android:** no Mac. Android builds run on Windows, Linux or macOS.
- **Apple Developer Program:** required for TestFlight and the App Store — **$99 a year**, Mac or not.
- **Google Play developer account:** required for Google Play — **$25, once**.

## Ways to build an iPhone app without owning a Mac

1. **CI with macOS runners.** GitHub Actions, Codemagic and Bitrise all offer macOS build machines. You still have to set up signing and an upload script.
2. **A rented cloud Mac.** Services such as MacinCloud give you a remote macOS desktop with Xcode. Fine for occasional debugging, slow for daily work.
3. **CapWrapp.** Connect the GitHub repo. CapWrapp creates the signing certificate from an App Store Connect API key, installs the build pipeline in your repo, and uploads to TestFlight from GitHub’s Mac runners.

## What you still cannot do without a Mac

- Run the **iOS Simulator** — test on a real iPhone through TestFlight instead.
- Step through native code in **Xcode’s debugger**.
- Build the iPhone app **offline**.

For most web-first apps none of these block shipping: you test the web layer in a browser, and TestFlight puts the real build on your phone. The forms after that build are the [App Store submission checklist](https://capwr.app/guides/app-store-submission-checklist) and the [Google Play submission checklist](https://capwr.app/guides/google-play-submission-checklist).

## FAQ

### Do I need a Mac to publish an iPhone app?

Not on your desk. The iPhone build needs macOS and Xcode, but a cloud machine can run it — GitHub Actions, Codemagic, Bitrise or a rented Mac. CapWrapp uses GitHub’s macOS runners. You still need an Apple Developer account ($99 a year).

### Can I build an iOS app on Windows?

You can write and test the web app on Windows, then have a cloud Mac build and sign the iPhone version. Xcode itself does not run on Windows.

### Do I need a Mac for Android?

No. Android builds run on Windows, Linux or macOS, and Google Play never needs a Mac.

### Can I paste a Lovable URL instead of using GitHub?

No. CapWrapp builds from a GitHub repo. Sync Lovable, Bolt or Base44 to GitHub first — each has a GitHub button.

## Related free tools

- [Is your Lovable app ready for the App Store?](https://capwr.app/free-tools/lovable-capacitor-checker) — Paste package.json. See what is set up, what is missing, and get a prompt to paste back into Lovable.
- [Is your Bolt app ready for the App Store?](https://capwr.app/free-tools/bolt-capacitor-checker) — Same checks as the Lovable checker, tuned for Bolt’s Vite projects and Next.js templates.
- [Is your Base44 app ready for the App Store?](https://capwr.app/free-tools/base44-capacitor-checker) — Check a Base44 export: the frontend Capacitor wraps, the backend that stays hosted, and common setup mistakes.
- [Can this GitHub repo become an iPhone and Android app?](https://capwr.app/free-tools/github-repo-checker) — Paste a public repo URL. The same checks as the builder checkers, read straight from GitHub.
- [Capacitor appId and bundle ID validator](https://capwr.app/free-tools/capacitor-config-validator) — Check an appId against Apple and Android rules at once, plus webDir and server.url in capacitor.config.
- [Will Apple reject your app as just a website?](https://capwr.app/free-tools/apple-guideline-4-2) — Six questions on Apple’s Minimum Functionality rule — the usual reason wrapped web apps get rejected.
- [Why was my app rejected by Apple or Google Play?](https://capwr.app/free-tools/app-store-rejection-explainer) — Paste the rejection. Get the guideline in plain English, the fix, a reply for App Review, and a prompt for Lovable or Cursor.
- [App icon generator for iPhone and Android](https://capwr.app/free-tools/app-icon-generator) — Drop a logo or type an emoji. Get the iOS 1024 icon, Android adaptive and round icons, and both store icons — in Capacitor’s folders.
- [Why did my iOS or Android build fail?](https://capwr.app/free-tools/build-error-explainer) — Paste a failed build or upload log. Get the known error, what it means, and how to fix it — signing, versions, Gradle, uploads.
- [App Store and Google Play screenshot sizes](https://capwr.app/free-tools/app-store-screenshot-sizes) — Drop screenshots, see which store slots they fit, and export the missing sizes as PNGs both stores accept.
- [Google Play 12 testers, 14 days: when can you publish?](https://capwr.app/free-tools/google-play-12-testers) — Enter your testers and the day the 12th joined. Get the date you can apply for production, a reminder, and draft answers.

## About CapWrapp

CapWrapp turns a web app on GitHub — built with Lovable, Bolt, Base44, Cursor or by hand — into iPhone and Android apps. It adds Capacitor if the repo needs it, signs the builds, and ships them to TestFlight and Google Play from GitHub Actions, with no Mac or Xcode on your side. [Get started free](https://capwr.app/login) · [Lovable to App Store guide](https://capwr.app/guides/lovable-to-app-store)
