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 —
⌘Rcompiles 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 —
⌘⇧Oopens any file, symbol, or type instantly. Faster than clicking through folders. - Clean Build — When things break mysteriously:
⌘⇧Kcleans, then⌘Brebuilds. Fixes 90% of weird issues. - Jump to Definition —
⌃⌘Jor ⌘-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 variableNamein the debugger to print object descriptions. Useexprto 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/DerivedDatato 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.