Building SimTag: A Deep Dive Through macOS Window APIs, CoreSimulator, DerivedData, and Git
A deep dive into how SimTag maps iOS Simulator windows back to app binaries, Xcode builds, DerivedData, and git branches.
Blog about Swift, iOS, and Xcode Tips and Tricks
A deep dive into how SimTag maps iOS Simulator windows back to app binaries, Xcode builds, DerivedData, and git branches.
A professional iOS developer tries a fully hands-off vibe coding approach to ship UnJumbl, a cross-platform daily word puzzle game, to the App Store and Web in 24 hours. What happened when I stopped writing code entirely.
Safari doesn’t have a built-in auto refresh feature, which is surprising given how often you end up hitting Command + R over and over again. Watching stock or crypto price dashboards Testing local development changes Waiting on sneaker or ticket drops Refreshing sports scores during a game Eventually you
See which branch your simulator is actually running. Even before AI coding, I’d often have multiple copies of the same project open—using git worktrees or separate clones—to work on different branches in parallel. Now, with multiple Claude Code sessions running at once, each doing
In Beta If you write about code in chat, you’ve probably experienced this: You’re explaining something in Slack or Notion, focused on the idea you’re trying to get across — and only after you send it do you notice nothing’s formatted. Or
A reflection on how chasing speed in engineering breeds bad habits—and why slowing down builds trust, depth, and lasting growth.
Like a lot of folks in the Bay Area, I rely on public transit—BART, Caltrain, Muni, AC Transit—to get around. But keeping track of routes and schedules across all these providers was more frustrating than it needed to be. So, I built Commuter: Bay Area —
In this article, we'll explore how to use SwiftUI's TimelineView to create views that update according to whatever schedule you provide.
A few months ago, I wrote an article titled Recreating The DVD Screensaver In SwiftUI . In this post, we'll take it one step further and we'll turn it into a macOS screensaver. To get started, create a new Xcode project and select Screen Saver: The new
Let's see how to implement Shared with You using SwiftUI in your iOS app and some testing strategies to keep in mind along the way.
I'll be speaking at iOSDevUK later this week and wanted to make the source code for the demo apps available in advance.
Learn how the CustomDebugStringConvertible protocol and @DebugDescription macro in Xcode 16 enhance debugging by providing clear, custom debug outputs.
Learn what blend modes are, why they're essential in digital design, and how to implement them in SwiftUI for stunning visual effects.
Master SwiftUI animations with Animatable and AnimatablePair. Learn to sync custom property animations for seamless transitions and smooth effects.
In this post, we'll cover a bunch of handy aliases for Xcode, CocoaPods, Git, and more that will help make your workflow more efficient. These tips will help you spend less time context switching and more time coding. ℹ️ We'll look at how to add