"How much does it cost to put an app on the App Store" gets answered inconsistently online because most answers either only count Apple's fee, or only count hardware, or quietly assume you're renting expensive cloud infrastructure you don't actually need. Here's every cost, split into what's mandatory and what's a choice.
Mandatory: Apple Developer Program — $99/year
This is the one cost nobody can avoid. To submit any app to the App Store — free or paid, one app or fifty — you need an active Apple Developer Program membership, which is $99/year, billed annually, direct to Apple. There's no one-time version and no way around it; it's the toll for using App Store Connect, TestFlight, and code signing at all.
(There is a free-tier Apple ID you can register apps to for personal on-device testing without paying this, but it doesn't let you submit to TestFlight external testers or the App Store — for an actual public release, the $99/year membership is required.)
Required, but where you have genuine choices: building and signing
To submit a build, something has to run Xcode's command-line signing and archive tools — that part isn't optional. Where you have a choice is what runs it:
| Option | Cost | Recurring? |
|---|---|---|
| Buy a Mac | ~$799+ (Mac mini, entry price) | No |
| Rent a cloud Mac (MacStadium, MacinCloud, etc.) | ~$20–100+/month | Yes |
| GitHub Actions macOS runners, public repo | $0 | No |
| GitHub Actions macOS runners, private repo | $0 up to a monthly allowance, then per-minute | Only if you exceed the free allowance |
Full breakdown of that last row (why macOS minutes burn through the free allowance faster than other CI) is in this post. The short version: on a public repo, this line item can legitimately be $0, indefinitely.
Optional or one-time: the things people assume cost more than they do
- App Store screenshots and marketing assets. Apple requires screenshots in specific device sizes, but you can generate these yourself for free — from the Simulator or a physical device — no paid tooling required, just time.
- A physical iPhone for testing. Not strictly required to submit (the Simulator gets you most of the way), but you'll want one to sanity-check the finished app before release. If you don't already own one, this is the one cost this list doesn't have a workaround for — though a used or older-model iPhone is more than sufficient for testing.
- TestFlight itself. Free, included in the $99/year membership — no separate cost to distribute beta builds to testers.
- App Store listing itself. Free — no fee to list an app beyond the membership, whether you charge for the app or not.
Adding it up
For someone shipping a side project on a public repo, using GitHub Actions instead of a Mac or a cloud rental:
Apple Developer Program ....... $99/year (mandatory) Build & sign (public repo CI) ..... $0 (GitHub Actions) Screenshots / assets .............. $0 (self-generated) TestFlight / listing .............. $0 (included) ----------------------------------------- Total to actually ship ......... $99/year
Compare that to the same app built with a purchased Mac (~$898 first year, then $99/year after) or a rented cloud Mac (~$339–1,299 first year depending on tier, then that same range every year after). The gap isn't small, and it's entirely in the "how do I run Xcode" line item — which is the one this whole approach exists to remove.
Worth flagging plainly: the $0 build-cost row above is specific to public repositories. Keeping your code private doesn't change how the pipeline works or expose anything extra — it just switches you from unlimited free minutes to a metered monthly allowance, covered in the GitHub Actions post linked above. Still usually cheaper than a Mac or cloud rental, just not literally free.
The setup that gets you to $99/year, not $99/month
I built this pipeline shipping Citolex specifically because I didn't want a recurring Mac-rental bill on top of Apple's own fee. Macless packages the GitHub Actions workflow, signing scripts, and setup guide as a one-time $99 purchase — not a subscription.
See what's included — $99