Hi folks,
This week we’re looking at using Swift for building command line tools, re-assessing the use of MVVM pattern with SwiftUI, refreshing our memory on NSCache, peek at wiring up analytics, using agentic skills for iOS development and more.
Have fun!
Articles
Swift
How to build a simple CLI tool using Swift
Want to create automation tools in Swift instead of bash? Swift Package Manager and ArgumentParser make building structured command-line utilities straightforward.
MVVM and the Cost of Carrying Old Patterns Forward
Is MVVM actually helping your SwiftUI apps, or adding unnecessary complexity? A provocative look at why familiar patterns might be holding you back.
NSCache in Swift: A Practical Guide
Need efficient in-memory caching that automatically handles memory pressure? NSCache offers a robust solution—but only if you understand its constraints and best uses.
UI/UX
Tracking Screen Views in SwiftUI with a Custom ViewModifier
Need to track user navigation patterns in SwiftUI? A reusable ViewModifier approach for an example TelemetryDeck integration makes it effortless.
Migrating an iOS app from Paid up Front to Freemium
Changing your app from paid to freemium while keeping existing users happy? Explore the grandfathering strategy using AppTransaction and version checks.
AI/ML
Using an MCP to perform product optimizations
Want to leverage AI for app optimization? Discover how Model Context Protocol (MCP) can transform your approach to product improvements.
Talks
Agent Skills in Xcode - Build better SwiftUI apps with AI agents
Agent skills can dramatically improve your Swift, SwiftUI, and more, and this video shows us how to install agent skills, how to use agent skills, and how to choose agent skills.
Testing
Testing with Event Streams
Testing callback-based code in Swift Testing without XCTestExpectation? AsyncStream provides an elegant pattern for verifying event order and partial progress.