Blog Directory
Directory Blog

Jesse Squires

Jesse Squires — Independent iOS and macOS developer

iOS, Swift, and software craftsmanship from a longtime maintainer.

Every single time, the code review comments the AI bot leaves on my pull requests are not just wrong, but laughably wrong.

jessesquires.com

Jesse Squires writes about Swift and Apple platform development with the hard-won knowledge of someone who's been deep in the ecosystem for years. His posts are the kind you find when you're actually stuck — workarounds for Xcode quirks, SwiftPM gotchas, and real-world automation tips. He's also refreshingly opinionated: his take on AI code review tools went viral for saying what a lot of developers were thinking but hadn't articulated yet.

Written by Jesse Squires since 2014.

About This Blog
Activity

Occasional

Publishes a few times per month

Followers

4

Category

Independent Blog

Languages

English

Feed Accessibility

How this blog's content is accessed through Blogs Are Back.

Full Content

RSS feed includes complete post content for reading in-app

Proxy Required

Feed is fetched through our proxy for browser compatibility

Proxy Post Links

Post pages are loaded through our proxy for compatibility

No Embedding

Posts open in a new tab — the blog restricts inline display

Collections

This blog appears in the following curated collections.

Latest Posts

Recent posts from Jesse Squires's RSS feed.

Mariposa: a lightweight Swift CLI to automate sharing blog posts to social media

After writing and publishing a new post, I always share to social media because that is how a lot of folks receive updates (also, POSSE). Because I hate using social media, I have automated this process with a lightweight CLI written in Swift called Mariposa. The goal of Mariposa is to replace services like IFTTT or Zapier to automatically post to Bluesky and Mastodon whenever I publish a new blog post. Currently, IFTTT has integrations for posting RSS feeds to Twitter and (with some extra wo...

Workaround: how to silence individual deprecation warnings in Swift

The Swift compiler has fine-grained controls for compiler warnings. As of Swift 6.2, you can even configure these warnings in Swift Packages. Unfortunately, this is an all-or-nothing approach with no flexibility, unlike the piecemeal control provided by the Clang compiler via #pragma directives. Like Objective-C, in Swift you can treat all warnings as errors, suppress all warnings, or treat only specific diagnostic groups as warnings or errors. However, in Objective-C — that is, with the Clan...

How to automate perfect screenshots for the Mac App Store

Meeting the requirements for screenshots is a frustrating experience. On iOS, tooling like SimulatorStatusMagic, Nine41, and fastlane snapshot help make the process easier. However, on macOS there is much less support (and, sadly, demand) for automated tooling — so you are kind of on your own to figure it out. I spent some time recently solving this process for myself. I want to share how I have managed to automate perfect screenshots for the Mac App Store. Screenshot composition In a previo...

How to remove unwanted Swift Package schemes in Xcode

Xcode automatically creates schemes for your app and other targets included in your project, which allow you to build and run those targets. I recently ran into an issue where Xcode was including schemes from third-party Swift Package dependencies in its auto-populated list. This automatic behavior does not cause any problems, but it can be quite annoying and distracting to have unwanted schemes from packages pollute your list of schemes. This issue has been reported in the developer forums....

AI Code review is always wrong

I work on a team that has enabled an AI code review tool. And so far, I am unimpressed. Every single time, the code review comments the AI bot leaves on my pull requests are not just wrong, but laughably wrong. When its suggestions are not completely fucking incorrect, they make no sense at all. For example, in Swift you can use optional-chaining or you can unwrap optionals. struct Job { let title: String } struct Person { let name: String let job: Job? } let john = Person(name...

Follow Jesse Squires

If you build for Apple platforms and want practical, no-nonsense writing from someone who actually ships apps and maintains open-source libraries, Jesse's blog delivers.

https://www.jessesquires.com/feed.xml