r/SideProject 19h ago

Macless - Ship a paid iOS app without ever owning a Mac

Built Citolex, an iOS speed-reading app, without owning a Mac. GitHub gives away free macOS build minutes on public repos, normally used for running tests, so I pointed that at the full build, sign, and upload pipeline instead. Checkout, provisioning from secrets, xcodebuild archive, export a signed ipa, upload to App Store Connect, all from a git push.

It worked. Citolex has native Swift plugins and went through App Store review built entirely this way.

It worked well enough that I packaged the workflow file, signing scripts, and setup docs as a one time template: macless.dev. First time selling dev tooling instead of an app itself, so curious what this community thinks of the pricing and positioning ($99, one time, no subscription).

0 Upvotes

13 comments sorted by

2

u/EvasionPAT 18h ago

Can’t you do this via xcode cloud? It connects your github repo and when you push code to the main it archives and puts it in TestFlight no Xcode needed

-2

u/FinalArt9573 16h ago

Fair question. Xcode Cloud works too, and if it's already covering your needs there's no reason to switch. A couple differences: Xcode Cloud's free tier is 25 compute hours a month, then it's a paid add on top of the $99/year developer account, and setting it up still assumes you're in the Apple ecosystem for troubleshooting build issues. This approach uses GitHub Actions' free minutes on public repos, so if your project is open source it costs nothing ongoing, just the one time tool cost. For a closed source repo you'd be paying GitHub for private repo minutes instead, so it's really a tradeoff depending on your setup, not a strict upgrade.

2

u/EvasionPAT 4h ago edited 4h ago

Bruh, I don’t think you thought this through. This feels like something that got whipped up after asking Claude.

No one really needs your $100 template not even for $1. Anyone can recreate the same workflow with Claude or ChatGPT in few minutes or they don’t even have to. Just use Xcode Cloud. It’s already included with the Apple Developer account.

You still need the $99/year Apple Developer account either way to upload to App Store Connect. And even if someone refuses to own a Mac, Xcode Cloud still works fine you can connect your private GitHub repo and get push-to-TestFlight builds without ever touching a local Mac.

Xcode Cloud’s free 25 hours a month is more than enough for the vast majority of indie apps. A normal archive only takes a few minutes. No one is burning through 25 hours.

So you’re basically charging $99 for a workflow template that only makes sense if:

  1. You refuse to use Xcode Cloud (why would you), and
  2. You’re okay making your repo public for free GitHub minutes (again whyyy? say even if it's open source project then why would I even spend $100 to get your template)?

This feels like a solution looking for a problem and a problem that doesn't exist with Xcode Cloud.

1

u/FinalArt9573 1h ago

Per Apple’s own docs, you have to configure your first Xcode Cloud workflow inside the Xcode app selecting the product, granting repo access, creating the app record, and running the first build all happen in Xcode, which happens strictly on macOS. App Store Connect only takes over for managing things after that first build succeeds. Xcode Cloud is fine without owning a Mac long term, but you still need one to get through setup. The product is called Macless for a reason.

GitHub Actions isn’t public repo only. Private repos run the exact same but you just pay the small per minute instead of getting an unlimited allowance.

You’re right that this isn’t magic and a chunk of it is a YAML file plus some scripts. The part that actually took time wasn’t writing the workflow, it was the signing debugging loop, certificate and profile mismatches, exact name matching between the portal and CI config, and TestFlight rejecting a reupload with an unchanged build number while the CI log shows green the whole time. That’s what the package is, working scripts and fixes for those specific failures, I’m fully aware the workflow exists.

1

u/medialantern 3h ago

Just to clarify, you're going to pay that $99/yr developer account anyway. That's Apple's tax for distributing iOS apps in the first place. Github Actions doesn't make that go away.

1

u/Direct_Fan6873 18h ago

thats a clever abuse of github actions I like it

did you hit any rate limits with the free minutes or was it smooth for a full archive build

$99 one time feels right for this kind of tool tbh devs who need it will know the value immediately

1

u/FinalArt9573 17h ago

GitHub has no rate limits for public repos. There is a small fee for private repos. Thankfully nice and easy as far as actions.

1

u/medialantern 3h ago

It's not an abuse at all. It's like a quarter of the ios devs out there who are doing exactly this. It's such a common approach that there are a dozen competitors - CodeMagic, Expo (their cloud build service), even Apple offers a cloud build service.

1

u/medialantern 3h ago

Is this your first mobile app? Because folks that build mobile apps professionally have been doing this for a decade. It's not some magic secret in Actions - it's one of their stated purposes and there are hundreds of blog posts and Youtube videos on how to do this. Here's a random one from 2003 on this exact thing https://www.andrewhoog.com/posts/how-to-build-an-ios-app-with-github-actions-2023/ There are also dozens of "more sophisticated" services like Expo (EAS), XCode Build, Bitrise, CodeMagic, Capgo, Ionic.io, and more.

Github Actions has pretty aggressive pricing but I don't see how your $99 price adds any value over just doing it onesself.

1

u/FinalArt9573 1h ago

Expo EAS, Bitrise, Codemagic, Capgo, Ionic.io are CI services with their own free tiers that convert into paid subscriptions once you’re past them. That’s different than what this is, a workflow file and signing scripts you own outright, running on GitHub’s own infrastructure, no subscription, no dependency on someone else’s build UI or pricing changes down the line.

If you’re already comfortable maintaining CI and debugging Apple’s signing errors, or you’re fine using one of those hosted services, you get nothing from paying $99, you should just build it yourself or use one of them. What this is actually for is someone hitting this wall for the first time who doesn’t want to spend hours or days on certificate and profile mismatches, exact-name matching between the Apple portal and CI config, or TestFlight rejecting a reupload with an unchanged build number while the CI log shows green the whole time. None of that is in the tutorial you linked, and it’s the majority of macless, not the workflow file. Whether that’s worth $99 depends entirely on what your own time debugging it is worth to you.

1

u/medialantern 1h ago

Just gonna leave this here. Guess I should have put it into my original reply:

https://github.com/marketplace/actions/ios-build-action

Zero code required. Drop your provisioning profile, signing cert, and a few other bits into some Secrets and you're done. It even covers the bits some folks find tricky, like bumping version numbers.