Blog

SF Symbols, without the strings.

Every SF Symbol you reference in Swift is a hand-typed string. These posts are about why that's a maintenance problem — and how to make it a compile-time guarantee instead.

May 15, 2026 · 4 min read

Using SF Symbols in SwiftUI: the type-safe way

SwiftUI's Image(systemName:) takes a String, so every icon in your app is a hand-typed name with no compiler safety net. Here's why that's a maintenance liability and how to fix...

Read post →
May 14, 2026 · 4 min read

How to list every SF Symbol in code (without hardcoding names)

Apple doesn't give you a way to enumerate SF Symbols in Swift — because they're strings, and you can't iterate a string you never wrote down. Here's how to get all of them as a ...

Read post →
May 12, 2026 · 4 min read

Why UIImage(systemName:) returns nil — and how to make it impossible

UIImage(systemName:) returns an optional. When it's nil, it's almost always a misspelled or unavailable symbol name. Here's how to diagnose it and how to eliminate the failure m...

Read post →
May 10, 2026 · 3 min read

SF Symbols in AppKit (NSImage): a practical guide

macOS apps reference SF Symbols through NSImage(systemSymbolName:accessibilityDescription:) — another string-keyed API with the same maintenance problem as its iOS counterparts.

Read post →
May 8, 2026 · 4 min read

SF Symbols in UIKit: a practical guide

Using SF Symbols across UIKit — buttons, bar items, image views, configurations — and why every one of those call sites is a hand-typed string you have to keep correct forever.

Read post →
May 6, 2026 · 4 min read

Typed vs stringly-typed SF Symbols in Swift

Comparing the ways to reference SF Symbols safely in Swift — raw strings, hand-rolled enums, SFSafeSymbols, and SFSymbolsKit — and what the maintenance cost of each actually is.

Read post →
May 5, 2026 · 4 min read

Migrating off hardcoded SF Symbol strings

A practical, incremental strategy for replacing hand-typed SF Symbol name strings with typed properties across an existing codebase — without a risky big-bang refactor.

Read post →
May 1, 2026 · 4 min read

Keeping up with new SF Symbols every iOS release

Apple adds hundreds of SF Symbols every OS cycle. If your symbol names are hand-typed strings, your codebase silently falls behind every September. Here's how to stay current au...

Read post →