Hello again.
Package infrastructure, hybrid AI, critical thinking, launch profiling, adaptive layout, testable navigation, and even custom operators all land in this issue. The common thread is control: knowing where SwiftPM gets its code, choosing deliberately between Apple Foundation Models and Gemini, checking what AI produces, measuring launch work instead of guessing, and keeping SwiftUI decisions small enough to test. There’s also a focused skill for Liquid Glass—useful, provided we treat agent instructions like code rather than magic.
Have fun!
Articles
Swift
What is a package registry?
SwiftPM resolves dependencies, the Swift Package Index helps us find them, but a package registry does the less glamorous job of serving verified, immutable source archives. That distinction matters once our builds need more than a Git URL and crossed fingers—and the nice part is we can try a registry today rather than waiting for the ecosystem to catch up.
Custom Operators in Swift
Custom operators can make a mathematical type or domain-specific language feel wonderfully natural, right up until nobody else can read the code. The useful bit here is the mechanics—prefix, postfix, infix, precedence groups, assignment, pattern matching, and function composition—paired with the reminder I’d enforce in review: if a named function is clearer, use the named function.
AI/ML
Apple Foundation Models: Hybrid AI with Dynamic Profiles
On-device Apple Foundation Models are private and free, but an 8K context window, limited reasoning, and mobile thermals are real constraints, not footnotes. Dynamic Profiles make the hybrid approach clean: count tokens up front, keep suitable work on device, and route larger or harder prompts to Gemini through the same LanguageModelSession API. I like this far more than “try local and catch the failure”—users shouldn’t pay for our routing logic with battery and latency.
Using AI while exercising your critical thinking
“Cognitive surrender” is a better name for blindly forwarding AI output than the industry’s uglier medicalized label. The practical discipline is unexciting but sound: supervise complex work, demand evidence, open the cited links, and read generated code line by line. AI-assisted development still needs an engineer in the loop; otherwise we’re just an expensive meat proxy with commit access.
UI/UX
Measure App Launch Time with Instruments
If app launch feels slow, stop poking at random initialization code and measure it. Instruments’ App Launch template and the App Lifecycle pane show each launch phase with its duration, giving us a concrete place to start instead of another round of “it seems faster on my phone.”
Responding to geometry changes in SwiftUI
Resizable iPad windows and iPhone apps running on larger surfaces have made device-based layout assumptions properly obsolete. onGeometryChange() lets a view derive a small Equatable value—say, whether a card should switch orientation—from the space it actually receives, and only updates state when that value changes. Return the smallest signal you need and keep it independent from the measured layout, or you’ll build a feedback loop that thrashes during resizing.
Testing
Unit Testing Navigation Logic in SwiftUI
Navigation stops being “just UI” the moment the destination depends on role, account state, or permissions. Representing destinations as Route values and moving those decisions into a router—or a feature coordinator once the router starts becoming a junk drawer—turns them into fast Swift Testing assertions instead of brittle UI tests. That seam is small, but it pays off every time a product rule changes.
Utils
FWC SwiftUI Skills
This focused Cursor Agent Skill packages modern SwiftUI guidance for implementing and reviewing Liquid Glass with native iOS 26 APIs. Installation is straightforward through npx skills add, and the narrow scope is the selling point: one well-maintained skill with concrete pitfalls beats a giant prompt that pretends to know every corner of SwiftUI.