← Back to Wiki
Development Tools
Xcode
Xcode is Apple's IDE for building
apps on iOS, macOS, watchOS, tvOS, and visionOS. It includes everything: code editor, visual design
tools, debugging, simulators, and distribution tools. If you want to build native Apple apps, Xcode
is non-negotiable.
I use Xcode alongside Cursor for the best of both worlds—AI-assisted coding with Cursor, and Apple's
powerful build system, simulators, and debugging tools with Xcode.
Core Foundation
The essentials you need to start building iOS apps.
- Project Navigator — Left sidebar shows all your files. Right-click to add new files, groups, and assets.
- Canvas Preview — SwiftUI's live preview. See your UI update as you type. Resume with
⌘⌥P.
- Simulator — Run your app on virtual iPhones, iPads, and Macs. Pick any device and iOS version.
- Build & Run —
⌘R compiles your code and launches in the simulator. ⌘. stops it.
- Console — Bottom panel shows print statements and logs. Essential for basic debugging.
- Asset Catalog — Drop images and colors into Assets.xcassets. Xcode handles all screen sizes and dark mode variants.
Intermediate Workflow
Level up your development efficiency.
- Breakpoints — Click the line number gutter to set breakpoints. Step through code with
F6 (over), F7 (into).
- Quick Open —
⌘⇧O opens any file, symbol, or type instantly. Faster than clicking through folders.
- Clean Build — When things break mysteriously:
⌘⇧K cleans, then ⌘B rebuilds. Fixes 90% of weird issues.
- Jump to Definition —
⌃⌘J or ⌘-click to jump to any function or type definition.
- Schemes & Targets — Manage different build configurations (Debug vs Release), multiple apps, and test targets.
- SPM Integration — Add Swift packages via File → Add Package Dependencies. Xcode handles the rest.
- Testing — Write XCTest unit tests and UI tests. Run with
⌘U. Green checkmarks = passing.
Pro Advanced
Master-level techniques for professional development.
- Instruments — Profile CPU, memory, energy, and network usage. Find leaks, optimize performance, and understand exactly what's slow.
- LLDB Console — Type
po variableName in the debugger to print object descriptions. Use expr to modify values at runtime.
- Custom Build Phases — Run scripts during build: auto-increment version numbers, generate code, lint, or copy files.
- CI/CD with Xcode Cloud — Automated testing and deployment directly in App Store Connect. Build on every push, distribute to TestFlight.
- AI Integration — Use Alex Sidebar for inline AI completions and chat directly in Xcode.
- Cursor + Xcode — Edit code in Cursor with AI, build and debug in Xcode. Use Sweetpad to bridge them seamlessly.
- DerivedData — When all else fails, delete
~/Library/Developer/Xcode/DerivedData to fully reset your build cache.
Essential Shortcuts
⌘R — Run the app
⌘B — Build without running
⌘. — Stop running app
⌘⇧K — Clean build folder
⌘⇧O — Open Quickly (find any file)
⌃⌘J — Jump to definition
⌘/ — Toggle comment
⌘⌥P — Resume SwiftUI preview
⌘U — Run all tests
⌘⌥[ / ⌘⌥] — Move line up/down
Impressive Apps Built with Xcode
Apps that showcase what's possible with SwiftUI and native development.
- Things 3 — Beautiful task manager with buttery animations. Apple Design Award winner. Shows what polish looks like.
- Apollo (RIP) — The best Reddit client ever made. Christian Selig built it solo. A masterclass in native iOS development.
- Fantastical — Natural language calendar app with incredible UI. Demonstrates complex SwiftUI layouts.
- Halide — Pro camera app with manual controls and RAW support. Deep hardware integration.
- Carrot Weather — Personality-driven weather app with widget perfection. Shows widgets done right.
- Bear — Elegant markdown notes with nested tags. Beautiful typography and sync.
- Overcast — Smart podcast player by Marco Arment. Audio engineering + clean UI.
- Loom — Screen recording made simple. 2024 Apple Design Award finalist for productivity.
Resources