Bonus Module · Free

A designer’s guide to opening Xcode for the first time.

The MCPs that make Claude Code useful for iOS, and a working app on your phone by the end of the afternoon.

00Why this exists

The page I wish someone had handed me.

I got my first iBook G4 in 2005 and wanted to make apps for it. I went to Barnes & Noble and stood in front of the one tiny shelf tucked between two walls of Windows manuals, pulling Mac OS X development books down one by one and flipping through them. Every page assumed I already knew how to code. I put the books back, walked out empty-handed, and didn’t come back to the idea for fifteen years.

What changed is that you no longer have to know how to write code. You have to know how to read it, and that one shift is the whole reason this page exists.

This is a designer’s onramp to Xcode, the MCPs that make Claude Code actually useful for iOS, and the smallest possible app on your own phone with your name on it. No paid developer account, no Swift background, two hours of mostly downloads.

01Setup

What you actually need.

A Mac on a recent version of macOS, an iPhone (ideally on iOS 26), a free Apple ID, and about two hours of your afternoon. No paid developer account is required to install an app on a phone you already own, which is the bar this page is targeting.

Heads up on disk space: Xcode itself is a 15+ GB download, the iOS Simulator runtime adds another 7–9 GB, and Xcode’s build cache (DerivedData) creeps up to 10–30 GB over time. Budget 30–40 GB free if you’re on a 256 GB Mac.

I’m assuming you already have Claude Code installed and signed in. If you don’t, that’s a five-minute detour and you can come back here when it’s done.

02Install Xcode

Start the download before you make coffee.

Open the Mac App Store, search for Xcode, hit get. The download is over 15 GB, so kick it off and walk away while it pulls. When it finishes, open Xcode once and click through the license, which triggers a command line tools install that adds another few minutes on top. You aren’t building anything yet, you’re just waking the thing up.

Then sign in: Xcode → Settings → Accounts → “+” → Apple ID. Use the same Apple ID that’s on your iPhone, because that’s what lets you install an app on your phone without paying a hundred dollars a year. It’s also the easiest step to forget.

Xcode Settings Apple Accounts pane showing a developer team with the Manage button, certificates, and provisioned devices.
Xcode → Settings → Apple Accounts
03Mindset

Treat Claude like an engineer you’re briefing.

Claude Code is the brain, Xcode is the hands. Most of the trouble designers run into when they start building iOS apps is treating Claude like an image generator instead of an engineer who needs a clear brief.

  • Give it a starting place. Tell it what app you want, what platform, what reference apps you love. Specificity beats cleverness every single time.
  • Work in small loops. Ask for one thing, look at it, ask for the next. The temptation is to request the whole app in one breath and end up with a tangle you can’t unpick.
  • Read the diff. When Claude writes code, it shows you what changed. You don’t have to understand every line, but you have to notice when something looks wrong.
  • When stuck, ask for the smallest possible fix. Claude will sometimes propose elaborate rewrites for tiny bugs unless you constrain it.

I keep a CLAUDE.md at the root of every project, written in plain English. “This is a SwiftUI app on iOS 26. Use Liquid Glass. Don’t touch the project file.” Claude reads it every session, and it’s the cheapest behavior modification I know of.

04MCPs worth installing

Three servers that turn Claude into a teammate.

MCPs (Model Context Protocol servers) are what give Claude Code real reach into your tools. For iOS work, three of them carry most of the weight, and each one is a single line in your terminal to install.

Builds, runs, and installs your app from inside Claude Code, on the simulator or a connected iPhone. The one that changed everything for me.

claude mcp add XcodeBuildMCP -- npx -y xcodebuildmcp@latest mcp

Makes Apple’s docs, HIG, and WWDC sessions legible to Claude. Stops it from inventing APIs that don’t exist on iOS 26.

claude mcp add --transport http sosumi https://sosumi.ai/mcp

Pushes your code to GitHub so you don’t lose it the first time you delete the wrong folder. “I made a mess” is usually solved by git.

claude mcp add --transport http github https://api.githubcopilot.com/mcp/

Each command goes straight into your terminal. Claude Code authenticates with the host (Sosumi is open, GitHub will prompt for OAuth), and the MCP’s tools become available in your next session.

05Working in Xcode

What to actually look at, and what to ignore.

Xcode is intimidating because it’s built for engineers who already know it. As a designer, you only need a handful of landmarks and three keyboard shortcuts. Everything else you can leave alone until you specifically need it.

Start with the three shortcuts you’ll use every day:

Essential Xcode shortcuts3 shortcuts
01
Build
Turn Swift files into a runnable app
B
02
Run
Build, then launch on the selected device
R
03
Clean build
Wipe cached builds and start fresh
K

If you’ve never touched a build system, here’s what each one actually does:

What these mean
Build
Xcode translates the Swift that Claude wrote into something your phone can actually execute. This is also where syntax errors surface, since the translator stops the moment it hits something it can’t parse.
Run
Does the build, then immediately installs the result on whichever device is selected in the toolbar at the top of the window. The one you’ll hit ninety percent of the time.
Clean build
Wipes every cached file Xcode has saved from previous builds and starts over from scratch. The answer to roughly every “this used to work” error you’ll hit in your first month.

And the parts of the window worth knowing about. Everything else you can collapse, ignore, or stay out of.

Xcode landmarks
Project navigator
The left sidebar. Lists every file in your project. Click a file to open it in the editor. ⌘1 brings you back here if you ever lose it.
Issue navigator
Same left sidebar, accessed via ⌘5 or the warning-triangle icon. Lists every compile error and warning. When the build fails, this is where the explanation lives.
Editor
The center column. Where you read the code Claude wrote and watch your edits land. You don’t have to write here yourself.
Canvas
The live preview pane to the right of the editor when you open a SwiftUI file. Xcode pushes you toward it; ignore that push. The Canvas is built for engineers iterating on one view in isolation. As a designer letting Claude write the code, you’re better off running on the simulator, which shows the actual app instead of a sandboxed preview.
Project icon
The blue icon at the very top of the project navigator. Clicking it opens the project settings (Signing, Capabilities, deployment target). You touched it once for signing; you may never touch it again.

A few moments that feel like errors but aren’t worth panicking over. “Indexing…” at the top of the window means Xcode is still reading your code; let it finish before judging anything stuck. The canvas going grey almost always means it needs a quick resume tap, not a full clean build. First builds always take longer than subsequent ones, sometimes a lot longer. None of these are bugs.

One last move: when Xcode gets weird in a way none of this explains, quit Xcode (Q), delete ~/Library/Developer/Xcode/DerivedData from the Finder, and reopen the project. This is the “turn it off and on again” of iOS development, and Claude will happily point you to it when things get truly stuck.

06Your first app

One screen. Your name. Five minutes.

You’re going to make a folder, start a Claude Code session inside it, hand Claude a brief, and watch an app appear. If you’ve never opened Terminal before, this is the moment. Spotlight (space), type “Terminal”, hit return, and run these four lines one at a time:

# Make a project folder and start a Claude Code session inside it
cd ~/Documents
mkdir hello-xcode
cd hello-xcode
claude

Claude Code launches inside the folder and waits for input. Paste this brief:

Build me a single-screen SwiftUI app for iOS 26 called “Hello [your name]”. Show my name in large display text on a soft gradient background, with a Liquid Glass card underneath showing today’s date. No external dependencies.

Claude will ask permission to write files and run commands (mostly Xcode-related). Approve each one. Watch it scaffold the project, write ContentView.swift, and finally tell you to open the .xcodeproj file in Xcode.

Open that file. Once Xcode finishes indexing (the progress bar at the top of the window), hit R. The simulator boots, the app appears, and the first time you watch it happen it feels like cheating. It isn’t. You wrote the brief, read the diff, and ran the build, which is the entire loop.

Xcode after Claude scaffolds the project

From here, the loop is: tell Claude what to change, watch the diff land, hit R, look at the simulator. Don’t use the SwiftUI Canvas even though Xcode keeps pushing you toward it. It pauses, needs setup state, and breaks for reasons unrelated to your actual app. The simulator is fast enough and shows you the real thing.

07Onto your phone

The first run won’t launch. That’s normal.

Plug your iPhone into your Mac with a cable and trust the computer when prompted on the phone. The cable matters: if it’s the cheap kind that came with a charger, it might only carry power, not data. The phone will charge but won’t appear in Xcode’s device list. Use the cable that came in the iPhone box (or any cable explicitly rated for data) if you hit that wall.

Once Xcode sees the phone, the rest happens in three places:

  1. 01Click the device selector at the top of the window (the one currently saying “iPhone 17 Simulator”) and choose your actual iPhone from the list.
  2. 02In the left sidebar, click the blue project icon at the very top.
  3. 03Under Signing & Capabilities, set Team to your Apple ID and let Xcode generate the bundle identifier for you.
  4. 04Hit R.

On a fresh iPhone, the first build will install but iOS won’t actually run anything Xcode pushed over until Developer Mode is enabled. The phone surfaces the prompt automatically. The path is Settings → Privacy & Security → Developer Mode, toggle it on, and let the phone restart. Hit R again in Xcode and the app installs and launches on your home screen.

Enable Developer Mode on iOS 26

You now have an app you wrote, sitting on your home screen, with your name on it. Show it to someone you love. The look on their face is the thing that got me hooked.

08Pro tips

Things that took me too long to learn.

I built and shipped an iOS app called Epilogue this way, and almost everything I now consider obvious took weeks to figure out. The shortest version:

01
Skip the SwiftUI Canvas.
Xcode pushes designers toward it, but it’s built for engineers iterating on one view at a time with preview-state setup. As a designer briefing Claude, your loop is faster if you skip it entirely. Tell Claude what to change, hit Run, look at the simulator. That’s it.
02
Don’t try to read or edit Swift yourself.
You don’t need to. Spending an hour decoding a for-loop is an hour not spent on what you’re actually making. Trust Claude. Read the diff for shape, not syntax, and ask Claude to explain anything that looks weird.
03
Commit every time something works.
“Fix: button color.” “Add: glass card on the home screen.” Tiny commits. The first time you break something in a way you can’t unwind, you’ll wish your last working state was ten minutes ago instead of two days ago. Use GitHub.
04
One feature per Claude Code session.
Long sessions drift. When you’re switching from “build the home screen” to “add a settings sheet,” start a fresh session and tell Claude the project context in two sentences. The cost of restarting is nothing; the cost of a tangled session is real.
05
Test animations on a real iPhone.
The simulator gets you 90% of the way there. The other 10% is springs, gestures, and Liquid Glass effects, which all feel different on a piece of warm glass than on a laptop running a simulator. Run on your phone for anything motion-related before deciding it’s done.
06
Don’t fight Apple’s defaults.
System fonts, system spacing, Liquid Glass, standard navigation. Custom-everything is where designer-built apps go to die. Lean into what Apple gives you; the constraint is the design.
07
Ship the ugly version.
The first version is uglier than you imagined and you’ll want another week of polish. Don’t take it. The version your friends actually see and react to teaches you more in one afternoon than another week alone will.
09When it breaks

A short field manual.

It will. Here’s what to do about it:

  • Build fails with a red error. Copy the full error string into Claude Code and tell it to fix this with the smallest change possible.
  • App crashes the second you open it. Look at the Xcode console along the bottom of the window. The line in red is almost always the answer. Paste it to Claude.
  • Simulator is acting weird. K to clean, then R to run. This fixes more problems than it should.
  • iPhone doesn’t show up in the device picker. Unlock the phone, unplug it, plug it back in, and trust the computer if prompted. If it still doesn’t show up, the cable is power-only. Swap it.
  • No simulators in the device list. Xcode → Settings → Platforms → install the iOS runtime. The first one is a 7–9 GB download and takes a few minutes. You only do this once.
  • App installs but the icon isn’t on your home screen. Swipe left past your last home screen page to App Library and look in the alphabetical list, or pull down and search by name. The icon’s there.
  • “Signing for app requires a development team.” You forgot the Team dropdown in Signing & Capabilities. Click the blue project icon, pick your Apple ID under Team, let Xcode regenerate the provisioning profile, and run again.
  • Claude is going in circles. Start a new session and tell it where you are in fewer words. Long sessions drift, and the cheapest reset is a fresh prompt.
10What you do next

Build something small and personal.

A daily quote app pulling from a JSON file. A tea timer. A widget that counts your kid’s age in days. Pick something you’d actually want on your home screen, finish it in one sitting, and don’t worry about whether it’s any good.

Don’t try to ship to the App Store on day one. Ship to your home screen, ship to one friend, run the loop again. Brief → build → install → iterate is the same loop the App Store uses, with more paperwork attached.

I never bought those books. I stood in front of the corner shelf at Barnes & Noble, flipped through enough of them to decide the syntax was taller than I was, and walked out. That was 2005. The wall back then lived on every page I touched. The wall now is whether you’re willing to start, and that’s a much smaller wall.

Neuma · Bonus ModuleMade for designers.