Comment by tjohnell

12 days ago

My first prompt was:

"Help me develop a MacOS app that blurs my screen the closer my mouse is to the top of the monitor"

That was my PoC to see if there's APIs Claude could find that would make this easy to do. Once I proved that worked, I asked it to instead help me devise a way to adjust that blur based on my posture. It suggested the vision framework and measuring head height.

Just kept iterating, one step at a time. Any toil I experienced, I asked it to remove or automate.

This is going to sound very basic, but did you do it in a blank repo or did you use the cloned integration in Xcode, or a third thing I'm not thinking of?

  • I have had good success with using xcodegen and only a project.yml checked in. Claude can get tripped up on managing the xcode project xml.

    However, before that, i set up a blank project in xcode, used the xcode github integration to create a new repo on github, set up one xcode cloud workflow and use it to push one build to testflight. That way, you get all the automatic config of app ids, profiles etc, and xcode cloud can not be enabled other way. Then tell claude to migrate to xcodegen and to run it in CI automatically.

    I've started to develop iOS apps from scratch using only claude code web (no mac), by setting up a "Branch Build" workflow in xcode cloud, and a skill that teaches claude how to check builds and fetch logs.

    Along with a workflow that pushes any merge on main to internal TestFlight, the dream of developing iPhone apps on the iPhone finally lives. I've tried most options for this over the years and they never stuck.

    These are simple apps that build in 1-5 min on xcode cloud. For larger builds it probably won't work so well.

  • Not the OP, but I’ve had success starting with a blank app created by Xcode with the appropriate language/frameworks (ie something that will already run but does nothing). You then ask Claude to start from that point.

    The only issue I’ve had is sometimes Xcode not ‘seeing’ new files that Claude has created along the way, and needing to add these manually into the Xcode project. (A Google around suggests this shouldn’t happen if you create the project in the right way, and yet it still sometimes does.)