How to Publish an App on the App Store Without a Mac (2026)
Every step of App Store publishing mapped to whether it needs a Mac, how to upload an .ipa you already have, and the routes that remove the Mac entirely.
Published · Last updated
Publishing to the App Store Without a Mac: The Short Answer
Yes, you can publish an app on the App Store without owning a Mac. Superapp builds, signs and publishes a native app entirely from the browser, and Expo EAS, Codemagic, FlutterFlow, Adalo and rented cloud Macs each get a build to Apple without a Mac on your desk. Most of publishing already happens in a browser. Only two steps have traditionally needed macOS: compiling the build and uploading it. Every no-Mac route works by doing those two steps on a Mac you never touch.
Quick answer: Can you publish an app on the App Store without a Mac? Yes. Superapp builds, signs and publishes a native app from the browser, and services like Expo EAS, Codemagic and FlutterFlow compile on their own Macs and upload for you. Account enrollment ($99 a year), the App Store listing, privacy details and the submit-for-review step all run in a web browser. Two catches: since April 28, 2026, Apple only accepts builds made with Xcode 26 and the iOS 26 SDK, so whatever Mac does the build must run a current macOS; and if you already have an .ipa file in hand, you still need a way to upload it, because Apple's Transporter app is Mac-only.
This guide covers the whole chain: which steps need a Mac, the six routes that remove it, what to do if you are holding an .ipa with nowhere to upload it, why a build might not show up in App Store Connect, signing without Keychain, export compliance, costs, and the mistakes that get no-Mac submissions stuck.
Which Steps of Publishing Actually Need a Mac?
Only compiling and uploading need macOS. Everything else is a website.
| Step | Needs a Mac? | How to do it without one |
|---|---|---|
| Build the app (Superapp) | No | Superapp compiles native Swift in the cloud |
| Enroll in the Apple Developer Program | No | Start on Apple's enrollment page in a browser, or use the Apple Developer app on an iPhone or iPad |
| Create the app record and listing | No | App Store Connect runs in any browser |
| Compile the build with Xcode 26 | Yes, someone's Mac | A cloud builder, CI service or rented Mac compiles it |
| Code signing (certificate and profile) | Not strictly | Cloud services manage signing through an App Store Connect API key |
| Upload the build (.ipa) | Not strictly | App Store Connect API, Expo EAS Submit, a builder's publish button or a CI service instead of Transporter |
| Answer export compliance | No | A key in the app's Info.plist, or a few questions in App Store Connect |
| Fill in privacy details | No | App Store Connect, in the browser |
| Test on your own iPhone | No | TestFlight on the iPhone itself |
| Submit for review | No | Click submit in App Store Connect |
The compile step is the one you cannot skip. Xcode runs only on macOS, and Apple's upload builds help page describes Transporter as "a macOS app" and altool as a tool that ships with Xcode. So the real question is never "can I avoid a Mac", it is "whose Mac does the build, and who does the upload".
What Changed on April 28, 2026?
Apple raised the minimum SDK. Under its SDK minimum requirements, apps uploaded to App Store Connect from April 28, 2026 must be built with Xcode 26 or later, using the iOS 26 SDK (or the matching iPadOS, tvOS, visionOS or watchOS 26 SDK). Apps already live on the store do not need to be rebuilt, but every new app and every update does.
This matters most for anyone renting the cheapest Mac they can find, or using an old Mac borrowed from a friend. Xcode 26 needs a recent macOS, and Choicely reports in its no-Mac publishing guide that the lowest-priced cloud Mac it tested ran macOS Monterey, which cannot run Xcode 26 at all. The build might compile on an old toolchain, but App Store Connect will refuse the upload. Before you pay for any remote Mac, ask which macOS and which Xcode it runs.
Older guides, forum threads and tutorials written before April 2026 often recommend routes that no longer work for this reason. If a guide does not mention Xcode 26, check its date.
What Are the Ways to Publish Without a Mac?
There are six routes. They differ in who writes the code, who owns the Mac that compiles it, and how much setup you take on.
| Route | Who compiles | Who uploads | Needs a Mac at any point? | Best for |
|---|---|---|---|---|
| Superapp (browser-based native builder) | Superapp's cloud | Superapp, from the browser | No | Non-coders who want a native Swift app |
| No-code builders with a publish button (FlutterFlow, Adalo) | The builder's cloud | The builder, with your API key or app-specific password | No | People already building in those tools |
| Expo EAS Build and Submit | Expo's cloud Macs | EAS Submit, from Windows or Linux | No | React Native developers |
| Codemagic | Codemagic's macOS M2 machines | Codemagic, via App Store Connect API | No | Flutter, React Native or native projects with a repo |
| GitHub Actions macOS runners | GitHub's hosted Macs | A workflow step | No | Developers already using GitHub CI |
| Rented cloud Mac (AWS EC2 Mac and others) | A Mac you rent remotely | Xcode or Transporter on that Mac | You use a Mac, just not your own | Developers who want real Xcode |
| Xcode Cloud | Apple's cloud | Automatic | Yes, once, to set up the workflow | Teams that already have Xcode access |
Positioning at a glance
| Route | One-line summary |
|---|---|
| Superapp | Describe the app, get native Swift, publish from the browser, no Mac anywhere |
| FlutterFlow | Visual Flutter builder with a "Deploy To App Store" button once your API key is added |
| Adalo | No-code builder that builds and sends your app to App Store Connect using an app-specific password |
| Expo EAS | Cloud build and submit for React Native code, run from any OS |
| Codemagic | CI/CD for mobile with free macOS minutes and automatic signing |
| GitHub Actions | Hosted Mac runners for teams that already live in GitHub |
| Rented cloud Mac | Real Xcode and Transporter on someone else's hardware, billed by time |
| Xcode Cloud | Apple's own CI, included hours, but setup starts inside Xcode |
Superapp: browser-based native builder
A browser-based native builder writes the app, compiles it in the cloud and hands the build to App Store Connect. You never install Xcode, so there is no Mac anywhere in the chain, and it is the only route where you also do not write code. Pitfall: you still need your own Apple Developer account, and the app still goes through App Review like any other. Not for: developers who already have a codebase they want to keep in another framework.
FlutterFlow and Adalo: no-code builders with a publish button
Several no-code builders publish to the App Store for you once you connect your Apple account. FlutterFlow's App Store deployment docs walk through generating an App Store Connect API key with the App Manager role, pasting the private key, Issuer ID and Key ID into FlutterFlow, and clicking "Deploy To App Store"; Apple emails you when the build appears. Adalo's publishing guide uses an app-specific password instead and then has you add the build to TestFlight and the App Store. Pitfall: these tools produce Flutter or their own runtime rather than native Swift, and you still finish the listing, screenshots and privacy answers in App Store Connect. Not for: anyone using Glide, which builds Progressive Web Apps and, per Glide's help center, does not support publishing to the App Store at all.
Expo EAS Build and Submit
If you already have a React Native codebase, Expo compiles it on Macs it owns. Expo's EAS Submit documentation says it works from any operating system, including Windows and Linux for iOS, and uploads your .ipa to App Store Connect, where it usually appears in TestFlight after processing. It does not release the app or handle your screenshots: you still finish the listing and submit for review yourself. Pitfall: the iOS submit page asks for either an App Store Connect API key or an Apple ID with an app-specific password, plus the app's App Store Connect ID, so set those up first. Not for: people who do not write code.
Codemagic
Codemagic gives personal accounts 500 free macOS M2 minutes a month, then charges $0.095 per minute. Free minutes do not apply to team accounts. It can create certificates and profiles for you, as described in its post on automatic code signing that doesn't require a Mac. Pitfall: you configure the workflow yourself, which takes some CI knowledge. Not for: non-developers.
GitHub Actions macOS runners
GitHub Actions can run your build on a hosted macOS runner. GitHub's runner pricing lists the standard macOS runner at $0.062 per minute for private repositories, rounded up per job. Pitfall: you write the whole workflow, including signing and upload steps, and debugging a failed signing step without a Mac is slow. Not for: first-time publishers.
Rented cloud Mac
You can rent a Mac and control it remotely, then use Xcode and Transporter exactly as a Mac owner would. On AWS EC2 Mac, the Dedicated Host has a 24-hour minimum allocation and is billed per second after that. Pitfall: cheap hosts may run a macOS too old for Xcode 26. Not for: anyone who does not want to learn Xcode.
Xcode Cloud
Xcode Cloud is Apple's own build service, and 25 compute hours a month come with the developer membership. But Apple's Xcode Cloud setup page says you start by configuring a workflow in Xcode, and Xcode 15.0 or later is required. Xcode only runs on macOS, so you need Mac access at least once. Pitfall: it is a no-Mac route for ongoing builds, not for getting started. Not for: someone with no Mac access at all.
I Already Have an .ipa File but No Mac. How Do I Upload It?
This is the most common place no-Mac publishers get stuck. A no-code or low-code tool exports a signed .ipa, you create the app in App Store Connect, and then there is nothing to select under Build, because App Store Connect has no "upload file" button in the browser. Builds only arrive through an upload tool.
Your options, from simplest to most technical:
| Option | Needs a Mac? | What it involves |
|---|---|---|
| Rebuild in a tool that uploads for you (Superapp) | No | Superapp builds and publishes from the browser, so there is no .ipa to carry around |
| Use your builder's own publish button | No | FlutterFlow, Adalo and similar tools upload directly once your Apple credentials are connected |
| Expo EAS Submit or Codemagic | No | These services upload builds to App Store Connect from their cloud |
| App Store Connect API (Build Uploads) | No | A script reserves, uploads and commits the build files, authenticated with an API key |
| Transporter on a rented Mac for an hour or a day | Yes, rented | Drag the .ipa into Transporter, sign in, deliver |
| Transporter command line on Windows or Linux | No, in theory | Apple lists Windows and Linux versions, but recent developer reports show binary uploads failing |
A few details matter here:
- The API route is real but technical. Apple's Build Uploads API lets a program create a build upload, reserve the file, upload it and commit it. You need an App Store Connect API key (see below) and comfort with scripting.
- Transporter outside macOS is unreliable for apps. Apple's Transporter overview lists macOS, Windows and Linux, but it is written for media deliveries. In a developer forum thread, a Windows user reported in December 2025 that API-key uploads ended without delivering anything and the older password method failed. Treat it as a last resort.
- A rented Mac for a single upload works, and it is quick. In an OutSystems community thread titled exactly like this guide, the person who started it eventually borrowed a Mac, dragged the .ipa into Transporter, and reported the upload took about 3 to 5 minutes, after which the build appeared for selection. That thread dates from 2024, before the Xcode 26 rule, so the .ipa itself must now be built with Xcode 26.
- You do not need to create Info.plist separately. It is already inside the .ipa your tool produced.
Why Doesn't My Build Show Up in App Store Connect?
Usually because it has not been uploaded, it is still processing, or it is waiting on export compliance. Apple's build upload statuses are Processing, Failed and Complete, and only a Complete build can be chosen.
Common causes, in order of likelihood:
- Nothing was uploaded. Creating the app record does not create a build. Apple's choose a build page notes the add button only appears once builds have been uploaded.
- It is still processing. Wait, then refresh. Expo notes builds usually reach TestFlight about 10 to 15 minutes after upload.
- It failed processing. Check the email Apple sends and the build's status; Xcode 26 and SDK issues show up here.
- It is older than your live version. If a version is already Ready for Distribution, the list only shows builds uploaded after that version was released.
- It is marked Missing Compliance. You have to answer the export compliance questions before you can submit (next section).
What Is Export Compliance (App Encryption) and How Do You Answer It?
Export compliance is Apple asking whether your app uses encryption, because App Store uploads count as exports under U.S. law. Apple's encryption export documentation explains that App Store Connect asks these questions for every new version unless the app declares its answer in Info.plist with the ITSAppUsesNonExemptEncryption key.
Most simple apps only use the encryption built into iOS, such as HTTPS connections, which Apple describes as typically exempt from documentation requirements. If that is your case, you can answer in App Store Connect when you select the build (the "Missing Compliance" status disappears once you do), or have your builder set the key to NO so the questions never appear. Apps with their own proprietary encryption must answer YES and may need to upload documentation. Apple also notes that apps using only exempt encryption might need to file a year-end self-classification report with the U.S. government, so read the linked page if you are unsure.
This is the step that confused the OutSystems thread above: the page kept sending the user to the App Encryption section because no build had been selected yet. Once the build was uploaded and selected, the encryption step resolved.
How Do You Sign an iOS App Without a Mac?
Let the build service handle it. Signing used to be the step that sent people looking for a Mac, because Apple's certificate signing request instructions start with Keychain Access on a Mac.
An App Store build needs two things: a distribution certificate and a provisioning profile that ties the app's bundle ID to that certificate. Cloud services like Codemagic and Expo EAS create both for you through an App Store Connect API key. If you want to do it by hand, a certificate signing request can be generated with OpenSSL on Windows or Linux and uploaded on the Apple Developer website, though most people will find the managed option far simpler.
Files you will run into
| File | What it is | Do you need to touch it without a Mac? |
|---|---|---|
| None, with Superapp | Superapp signs in the cloud | No |
| .ipa | The compiled, signed app package you upload | Only if your tool exports it instead of uploading it |
| .p12 | Your distribution certificate plus its private key, exported as one file | Only for manual signing; managed signing creates it for you |
| .mobileprovision | The App Store provisioning profile for your bundle ID | Only for manual signing |
| .p8 | Your App Store Connect API private key | Yes, most no-Mac services ask you to upload it once |
How to create an App Store Connect API key
Most no-Mac routes ask for this once. Per Apple's App Store Connect API help:
- The Account Holder first requests API access in App Store Connect; Apple reviews these requests case by case.
- Go to Users and Access, then Integrations, then Team Keys.
- Click Generate API Key, name it, and choose the access role (FlutterFlow, for example, asks for App Manager).
- Download the .p8 file and note the Key ID and Issuer ID. Apple lets you download the key only once, so store it safely and revoke it if it is ever lost.
How Do You Upload a Build Without Transporter?
Use the App Store Connect API or a service that wraps it. Transporter and Xcode are both Mac apps. Apple's Build Uploads API lets a program reserve, upload and commit build files directly, authenticated with a JSON Web Token, and that is what cloud services use behind the scenes. In practice you will not call the API yourself: EAS Submit, Codemagic, GitHub workflows, FlutterFlow, Adalo and browser-based builders all do the upload as one step.
How to Publish an App Without a Mac, Step by Step
This is the full chain for someone with no Mac at all. For the listing fields, screenshots and review checklist in depth, see our step-by-step App Store publishing guide.
- Enroll in the Apple Developer Program. It costs 99 USD per membership year, according to Apple's enrollment page. You need an Apple Account with two-factor authentication. Organizations also need a D-U-N-S Number. Enrollment starts from that web page; the Apple Developer app is an alternative, but it needs an iPhone, an iPad, or a Mac with Apple silicon, per Apple's account help.
- Create an App Store Connect API key if your route asks for one (steps above).
- Get a build made with Xcode 26. Pick a route from the table above. The build must use the iOS 26 SDK or later.
- Sign the build. Let the service manage the certificate and profile, or provide your own .p12 and .mobileprovision.
- Create the app record in App Store Connect. In a browser, add the app name, bundle ID, category, description and screenshots.
- Fill in privacy details. Apple's app privacy details page requires this for every new app and update, including data collected by third-party SDKs, and a privacy policy link on the product page.
- Upload the build. Your route handles this: Superapp from the browser, a builder's publish button, EAS Submit, a Codemagic or GitHub workflow, or Transporter on a rented Mac.
- Answer export compliance when you select the build, if your app has not declared it in Info.plist.
- Test with TestFlight on your own iPhone. It runs on the phone, so this step needs no Mac.
- Submit for review. Choose the build in App Store Connect and submit it. Apple's App Review page says it typically reviews at least 50% of submissions in under 24 hours and 90% in under 48 hours.
Will Apple Reject an App Because It Was Built Without a Mac?
No. Apple reviews the app, not the machine it was built on. What does get no-code and template apps rejected is content. Guideline 4.2 of the App Review Guidelines asks for features, content and UI beyond "a repackaged website", and 4.2.6 says apps from a commercialized template or app generation service will be rejected unless the provider of the app's content submits them. In practice that means: submit under your own developer account, and make sure the app does something useful on its own rather than wrapping a web page.
What Does It Cost to Publish Without a Mac?
The only cost every route shares is Apple's $99 a year. Everything else depends on how often you build.
| Route | Apple fee | Build cost | Notes |
|---|---|---|---|
| Superapp | $99/year | Free to start, Pro $25/month | No Mac, no code |
| Codemagic | $99/year | 500 free macOS minutes/month, then $0.095/min | Free minutes are for personal accounts |
| GitHub Actions | $99/year | $0.062/min for macOS on private repos | You write the workflow |
| AWS EC2 Mac | $99/year | Billed per second, 24-hour minimum | Images may need Xcode installed |
| Xcode Cloud | $99/year | 25 hours/month included, 100 hours $49.99/month | Needs Xcode once for setup |
| Buying a Mac mini | $99/year | From $899 | Must run a macOS that supports Xcode 26 |
Buying a Mac has become more expensive: the M6 Mac mini launched in August 2026 at $899, $100 more than the model it replaced. A typical app build takes minutes, not hours, so the free allowances on Codemagic and Xcode Cloud cover a small app releasing a few updates a month.
Which Route Should You Pick?
Match the route to what you already have.
By situation
| Your situation | Best route |
|---|---|
| No code and no Mac | Superapp or another browser-based native builder |
| Already building in FlutterFlow or Adalo | That tool's own publish flow |
| An .ipa exported from a low-code tool, no Mac | A builder that uploads for you, the App Store Connect API, or a rented Mac for one upload |
| A React Native or Expo project on Windows | Expo EAS Build and Submit |
| A Flutter project on Windows or Linux | Codemagic |
| A repo already on GitHub with CI | GitHub Actions macOS runner |
| You want real Xcode for a day of debugging | A rented cloud Mac on current macOS |
| Your team has one Mac and wants automated builds | Xcode Cloud |
By the computer you have
| Your computer | Works with |
|---|---|
| Any browser (Superapp) | Superapp, from Windows, Linux, a Chromebook or an iPad browser |
| Windows PC | Superapp, FlutterFlow, Adalo, Expo EAS, Codemagic, GitHub Actions, a rented Mac via remote desktop |
| Linux | Superapp, Expo EAS, Codemagic, GitHub Actions, a rented Mac |
| Chromebook | Browser-based builders and the web dashboards of cloud CI services |
| iPhone or iPad only | Apple Developer app for enrollment, TestFlight for testing, browser-based builders |
Pick it or skip it
| Route | Pick it if | Skip it if |
|---|---|---|
| Superapp | You want a native app with no code and no Mac | You already have a codebase in another framework |
| FlutterFlow | You are building visually in Flutter | You need native Swift output |
| Adalo | You want a drag-and-drop builder with publishing built in | You want to own and edit the source code |
| Expo EAS | You write React Native | You do not code |
| Codemagic | You want free macOS minutes and managed signing | You have never set up CI |
| GitHub Actions | Your code is already on GitHub | You want a guided setup |
| Rented cloud Mac | You need real Xcode briefly | The host runs an old macOS |
| Xcode Cloud | You can open Xcode once | You have no Mac access at all |
Decide in four questions
- Do you write code? No: use Superapp or a no-code builder with a publish button. Yes: go to question 2.
- Is your project React Native or Expo? Yes: Expo EAS. No: go to question 3.
- Is your code already in GitHub with CI? Yes: GitHub Actions or Codemagic. No: Codemagic.
- Do you need to debug in real Xcode? Yes: rent a Mac on current macOS for a day.
What a Mac Still Does Better
Being fair about this helps you choose. A Mac with Xcode still gives you the iOS Simulator for many device sizes at once, live debugging with breakpoints, Instruments for performance profiling, and free on-device installs: Apple's free provisioning lets you install a build on your own iPhone without a paid account, which is an Xcode feature. If you plan to write a lot of native code yourself, or you need to profile memory and battery use, a Mac pays for itself. If your goal is to get an app onto the store, none of that is required.
Common Mistakes When Publishing Without a Mac
- Renting a cheap remote Mac without checking its macOS version. If it cannot run Xcode 26, nothing you build there can be uploaded.
- Creating the app in App Store Connect and waiting for a build to appear. A build only arrives after an upload tool sends it.
- Assuming Xcode Cloud removes the Mac entirely. Setup starts in Xcode.
- Expecting the upload to publish the app. EAS Submit and similar tools put the build in App Store Connect; you still choose it and submit it for review.
- Skipping export compliance. A build marked Missing Compliance cannot be submitted until you answer.
- Leaving signing until the end. Set up the API key or managed credentials before your first build so the upload does not fail on a missing profile.
- Losing the .p8 API key. Apple only lets you download it once.
- Using a builder that only makes web apps. Glide, for example, does not publish to the App Store.
- Running macOS in a virtual machine on a Windows PC. Apple's macOS license only permits it on Apple hardware, so use a cloud route instead.
Can You Distribute an App Privately Without the Public App Store?
Yes, for apps made for a specific business. Apple's custom apps program lets you choose Private distribution in App Store Connect and name the organizations that can see the app, which they then hand out through device management or redemption codes. The app still goes through App Review, and the publishing steps are the same, so all of the no-Mac routes above still apply. For sideloading and other options outside the store, see our guide to iPhone apps without the App Store.
Where Superapp Fits
As a disclosure, Superapp is our product, so weigh this accordingly. Superapp is a browser-based builder: you describe the app in plain English, it writes native Swift, compiles and signs it in the cloud, and publishes to the App Store from the browser, so there is no Mac, no Xcode install and no .ipa to upload by hand at any step. It is free to start, with Pro at $25 a month, and you own the resulting Xcode project if a developer later wants to extend it. It does not replace your Apple Developer account, which you pay Apple for yourself, and it cannot skip App Review. If you already have code and only need the build and upload handled, Expo EAS or Codemagic is the closer fit. Building on Windows in more detail is covered in our guide to making an iPhone app on Windows, and the Xcode question in our Xcode alternative guide.
Frequently Asked Questions
Can I publish an app to the App Store without a Mac?
Yes. Enrollment, the App Store Connect listing and submission all run in a browser. The build itself must be compiled on a Mac, but a browser-based builder, a cloud build service or a rented Mac can do that for you.
Do I need Xcode to publish an iOS app?
The build must be made with Xcode 26 or later since April 28, 2026, but you do not need to install it. Cloud builders and CI services run Xcode on their own Macs.
Can I upload an app to App Store Connect from Windows?
Yes, through a service. Transporter is a macOS app, but Expo EAS Submit works from Windows and Linux, and cloud services and no-code builders upload through the App Store Connect API.
I have an .ipa file but no Mac. How do I upload it?
Use a service that uploads for you, script the App Store Connect Build Uploads API, or rent a Mac for an hour and drag the .ipa into Transporter. App Store Connect has no browser upload button for builds.
Is there a Transporter app for Windows?
Apple lists Transporter for macOS, Windows and Linux, but the non-Mac versions are aimed at media deliveries, and developers have reported failed app uploads with them. For apps, a cloud service or the App Store Connect API is more reliable.
Why is no build showing in App Store Connect?
Usually nothing has been uploaded yet, the build is still processing, or it is marked Missing Compliance. Builds only appear after an upload tool sends them and processing completes.
What does Missing Compliance mean in App Store Connect?
It means you have not answered the export compliance (encryption) questions for that build. Answer them when you select the build, or declare ITSAppUsesNonExemptEncryption in the app's Info.plist.
Do I need a .p12 certificate and .mobileprovision file?
Only if you sign manually. Services like Expo EAS and Codemagic create and manage the certificate and provisioning profile for you through an App Store Connect API key.
How do I create an App Store Connect API key?
In App Store Connect, go to Users and Access, then Integrations, then Team Keys, and generate a key. Download the .p8 file once and keep the Key ID and Issuer ID.
Can I enroll in the Apple Developer Program without a Mac?
Yes. Enrollment starts from Apple's website, and the Apple Developer app also works on an iPhone or iPad. You need an Apple Account with two-factor authentication and the $99 annual fee.
Is Xcode Cloud a way to publish without a Mac?
Only partly. Xcode Cloud builds in Apple's cloud, but you set it up by configuring a workflow in Xcode, which needs a Mac at least once.
Can I publish a no-code app to the App Store without a Mac?
Yes, if your builder makes a real app and publishes it for you. Superapp, FlutterFlow and Adalo do; Glide builds web apps and does not publish to the App Store.
Will Apple reject my app because it was built without a Mac?
No. Apple reviews the app, not the computer. Rejections for no-code apps usually come from Guideline 4.2, minimum functionality, so the app needs to do more than wrap a website.
How much does it cost to publish an iOS app without a Mac?
Apple charges $99 a year in every case. Build costs range from free allowances on Codemagic and Xcode Cloud to per-minute pricing on GitHub Actions and per-second billing with a 24-hour minimum on AWS EC2 Mac.
Is it cheaper to buy a Mac or use a cloud service?
For a few builds a month, cloud is cheaper. The Mac mini starts at $899 since August 2026, while Codemagic's free 500 macOS minutes and Xcode Cloud's 25 included hours cover a small app's updates.
Why was my build from a rented Mac rejected?
The most common reason in 2026 is an old toolchain. Apple only accepts uploads built with Xcode 26 and the iOS 26 SDK, which need a recent macOS that many cheap rented Macs do not run.
Can I test my app on an iPhone without a Mac?
Yes. Upload the build and install it through TestFlight on the iPhone. Installing directly from Xcode with free provisioning is the one testing route that needs a Mac.
How long does App Store review take?
Apple says it typically reviews at least 50% of submissions in under 24 hours and 90% in under 48 hours. Whether you used a Mac makes no difference.
References
- Apple: SDK minimum requirements
- Apple: Upload builds
- Apple: Build uploads, App Store Connect API
- Apple: Build upload statuses
- Apple: Choose a build to submit
- Apple: Complying with encryption export regulations
- Apple: App Store Connect API keys
- Apple: Enroll in the Apple Developer Program
- Apple: Enrolling with the Apple Developer app
- Apple: Create a certificate signing request
- Apple: Get started with Xcode Cloud
- Apple: App privacy details
- Apple: App Review
- Apple: App Review Guidelines
- Apple: Custom apps
- Apple: Transporter overview
- Apple Developer Forums: Transporter app for Windows
- Expo: EAS Submit
- Expo: Submit to the Apple App Store
- FlutterFlow: Apple App Store deployment
- Adalo: Publishing to the Apple App Store
- Glide: Is Glide able to push to the App Store?
- Codemagic: Pricing
- Codemagic: Automatic code signing for iOS that doesn't require a Mac
- GitHub: Actions runner pricing
- AWS: EC2 Mac instances FAQ
- OutSystems Community: How to publish app in app store without mac
- iGeeksBlog: Mac mini M6 price
- Choicely: How to publish an iOS app without a Mac
- Superapp: How to publish an app to the App Store
- Superapp: How to make an iPhone app on Windows
- Superapp: The best Xcode alternative
- Superapp: iPhone apps without the App Store