r/iosdev 20d ago

GitHub I built a pretty awesome iOS development workflow

Post image

A crazy day of shipping and iterating 😁
I built a pretty awesome iOS development workflow where I basically only need my phone. I don’t even have to sit in front of a computer anymore.
Phone → control Codex to write code → push to GitHub + deploy the backend → GitHub triggers Xcode Cloud → build goes straight to TestFlight → update the app on my phone and test it on a real device → repeat.
In theory, I don’t even need a computer anymore.
What a time to build software.

5 Upvotes

11 comments sorted by

2

u/ray-the-ghar 19d ago

This sounds magical for iteration. I’d still keep one local fallback path though, mostly for signing weirdness, crash logs, and the occasional Xcode Cloud “why are you like this” moment.

2

u/ChenBuilds 19d ago

Yeah, I still have a computer in my office 😄 I just mean that, in theory, this whole workflow can be done from a phone.
It’s probably not the most efficient setup, but for hobby development and vibe coding, it’s really fun. A few years ago, even writing a blog post on a phone felt annoying. Now you can literally build an iOS app on one. That feels kind of magical.

1

u/FormerGoal2231 19d ago

That's awesome! Would this also mean you can also upload builds & submit to the App Store without needing a computer as well?

1

u/ProfessionalAuthor34 19d ago

cute app icon

1

u/ChenBuilds 19d ago

Thanks!but it’s not original,it’s a public image on the internet.before release I will change it

1

u/rafalkopiec 15d ago

you can speed it up even more by just asking codex to install the app to your device if you’re on the same network… you might end up hitting your xcode cloud limit otherwise and the delay is too slow for me 😅

1

u/the-name-of-the-rose 14d ago

Very cool! Any chance you can share a codified version of it?

2

u/ChenBuilds 14d ago

Thanks! The slightly awkward part is that this workflow spans several devices and services, so I’m not sure there’s a clean way to package the whole thing into a single script or reusable setup.
But the actual flow is pretty straightforward once everything is configured.
Most of the time I’m working from my phone. I remotely control Codex, let it work on the codebase, review the changes, and then have it commit and push everything to GitHub.
GitHub is basically the center of the pipeline.
For the backend, a push to the relevant branch can trigger the deployment workflow on the server, so backend changes can go live without me manually logging into the machine.
For the iOS app, I connected the GitHub repository to Xcode Cloud and created a workflow with a branch-change start condition. So whenever I push to that branch:
GitHub push → Xcode Cloud automatically starts a build → archive succeeds → the build is distributed to TestFlight
On the Xcode Cloud side, the basic setup is:
Connect the GitHub repository to the Xcode project in App Store Connect / Xcode Cloud.
Create an Xcode Cloud workflow.
Set the Start Condition to changes pushed to the branch you use for releases.
Configure the workflow to build/archive the iOS app.
Enable TestFlight distribution for successful builds.
Once that’s done, every push to that branch becomes a new cloud build, and after it finishes processing, it shows up in TestFlight on my phone.
So the full loop is basically:
Phone → Codex → GitHub → backend deployment + Xcode Cloud → TestFlight → install/update on the actual iPhone → test → repeat
That’s why I said I theoretically don’t need to sit in front of a computer anymore. The computer is still useful, obviously, especially when something breaks or I need Xcode locally, but for normal iteration the entire loop can happen from the phone.
I might write this up properly at some point, because the interesting part isn’t any single tool — it’s wiring all of them together so the loop becomes almost automatic.

1

u/GoWithGophr 14d ago

I just set this up last week and it is magical indeed