Apple Ecosystem Series
21 essays on shipping production iOS 26 apps in 2026: App Intents and MCP for agentic Apple; Foundation Models, Vision, and Core ML for on-device intelligence; Liquid Glass and Symbol Effects for the visual layer; multi-platform SwiftUI, Live Activities, and watchOS patterns. Drawn from production code in Water, Get Bananas, Return, and the rest of the 941 portfolio.
42 articles
Start Here
All 42 Articles
Foundation Models Custom Adapters: When To Train One
iOS 26 Foundation Models custom adapters train LoRA weights, export .fmadapter packages, ship via Background Assets, and require Apple's entitlement.
Metal 4 Essentials: What The New Core API Actually Changes
Metal 4 ships parallel MTL4-prefixed types alongside Metal in iOS 26. Multi-threaded command encoding, unified compute, and ML as a first-class GPU pa...
Apple Silicon TBDR: What App Developers Actually Get
Apple silicon GPUs use tile-based deferred rendering. Imageblocks, tile shaders, raster order groups, and A11+ enhancements that change Metal app desi...
Image Playground API: SwiftUI Sheet, Programmatic Image Creator, And Style Control
Image Playground gives apps two paths: the SwiftUI imagePlaygroundSheet modifier and the programmatic ImageCreator API for generating images from conc...
Foundation Models Use Cases: General vs Content Tagging
iOS 26 Foundation Models has .general and .contentTagging use cases. Use Apple's rules to decide when prompting beats specialization.
Genmoji and NSAdaptiveImageGlyph: Inline Emoji on iOS 18+
Genmoji ships as NSAdaptiveImageGlyph in attributed text. Apps using UITextView with TextKit 2 enable supportsAdaptiveImageGlyph and handle serializat...
App Intents 2.0 In iOS 26: Visual Intelligence, Interactive Snippets, And Deferred Properties
iOS 26 expanded App Intents with IntentValueQuery for Visual Intelligence, @DeferredProperty for async values, interactive snippets, entity view annot...
AVFoundation HDR And Apple Log: Pro Video Workflows On iPhone
iPhone 15 Pro+ records Apple Log alongside HEVC and ProRes. AVFoundation exposes HDR (HLG, HDR10, Dolby Vision) and Apple Log through AVCaptureDevice.
HealthKit Workout Lifecycle: HKWorkoutSession States And The iOS 26 Cross-Platform Surface
watchOS workout sessions move through a six-state lifecycle. iOS 26 brought HKWorkoutSession to iPhone. The state machine, the live builder, and the d...
SwiftUI Layout Protocol: Building Custom Layouts From sizeThatFits To placeSubviews
iOS 16's Layout protocol lets apps build custom layouts with two methods. sizeThatFits, placeSubviews, the proposal contract, layout values, and cachi...
Custom SF Symbols: The Variable Template And The Three Required Sources
SF Symbols creates 27 variations from three source designs. The variable template, compatible-data path requirements, rendering modes, and the Xcode h...
@Observable Internals: The Macro, The Registrar, And What ObservableObject Got Wrong
@Observable replaces ObservableObject's broadcast model with per-property access tracking. The macro expansion, the registrar, and the migration trap.
tvOS Focus Engine: SwiftUI Patterns for the Siri Remote
Apple TV navigates by focus, not touch. SwiftUI's .focusable, @FocusState, focusSection, and prefersDefaultFocus are the vocabulary. The patterns that...
Symbol Effects: SwiftUI's Built-In Animation Vocabulary For Every Icon
SF Symbols ships an animation vocabulary every iOS app can speak. Bounce, pulse, scale, replace, variable color, breathe: already designed, accessible...
The Apple Platform Matrix: Which Targets Deserve Which App
iOS, iPad, Mac, Watch, Vision, TV. Six platforms, six obligations. Picking Apple targets is a product decision before it is an engineering one.
Apple Vision Framework: On-Device CV Most Devs Skip
Apple Vision ships more than two dozen on-device CV operations. Most devs default to OpenAI Vision for tasks Vision performs in milliseconds, free, on...
Accessibility As Platform: Personal Voice, Live Speech, Eye Tracking, Music Haptics
Personal Voice, Live Speech, Eye Tracking, Music Haptics, Vocal Shortcuts: accessibility as platform features, not app responsibilities.
Core ML On-Device Inference: The Patterns That Actually Ship
Core ML runs models on Neural Engine, GPU, or CPU. The patterns that ship: model conversion, dispatch hinting, latency budgets, and quantization.
Swift Testing: The Framework Replacing XCTest, and What Stays In XCTest
Swift Testing ships with Xcode 16+ and Swift 6. Macros, traits, parametrized tests, parallel by default. Migrate incrementally; UI tests stay in XCTes...
Apple's New Speech Framework: SpeechAnalyzer vs SFSpeechRecognizer
iOS 26 introduces SpeechAnalyzer with SpeechTranscriber + SpeechDetector modules, an on-device replacement for SFSpeechRecognizer. When to migrate.
Writing Tools API: How Apps Plug Into Apple Intelligence's Writing Layer
iOS 18 introduced Writing Tools. iOS 26 makes adoption a single property for standard text views, and a designed coordinator API for custom text engin...
visionOS Spatial Patterns Beyond the Window
Apps that float an iPad UI on Vision Pro miss the platform. Windows, Volumes, Immersive Spaces, ornaments, attachments: the visionOS-native vocabulary...
SwiftData Migrations: Lightweight vs Custom, And When You Don't Need a V2
SwiftData's migration model uses VersionedSchema, MigrationStage, and SchemaMigrationPlan. Most schema changes don't need a V2 schema; the cases that ...
SF Pro: Variable Axes, Optical Sizing, And The Dynamic Type Contract
Apple's system font ships with three variable axes and continuous optical sizing. The vocabulary that makes typography work across the Apple platforms...
The Privacy Manifest Deep Dive: What Counts As Data Collection
Apple's privacy manifest is a structured contract, not a checkbox: four sections, five required-reason API categories, SDK rules, common gotchas.
Hooks For Apple Development: Patterns That Save The Project
An iOS agent has the developer's signing keys, builds, and project file reachable. Hooks bound the blast radius. Four shipping patterns.
Three Surfaces: Human, Apple Intelligence, Agent
Every iOS app capability faces three surfaces: human, Apple Intelligence, agent. Each has different obligations, rendering, latency, and trust posture...
What I Refuse To Write About
A blog cluster's voice comes from what it refuses to publish, not what it ships. Categorical, pattern, and interesting refusals each shape what the cl...
Single Source Of Truth: SwiftData, MCP, iCloud
Three callers can write to the same shopping list: a human, Apple Intelligence, and an external agent. Truth has to live somewhere. Pick the substrate...
Foundation Models Agentic Workflow: In-App Vs Tooling LLM
Two LLMs touch a Swift app. The on-device model that ships with the app and the agent that wrote the code. Different stacks, different obligations.
SwiftData's Real Cost Is Schema Discipline
SwiftData's API is two macros. The cost is what happens after you ship. Optional fields are the cheap migration; non-optional adds need a VersionedSch...
Live Activities Are a State Machine, Not a Badge
Return's Live Activity looks like a Lock Screen countdown. It is a five-state lifecycle machine with three dismissal paths. The production code and bu...
RealityKit And The Spatial Mental Model
RealityKit is an entity-component-system, not SwiftUI in 3D. Anchors place entities in real space. Five ways the model differs from a window.
Foundation Models On-Device LLM: The Tool Protocol
iOS 26's Foundation Models framework puts a 3B-parameter LLM on every Apple Intelligence device. The Tool protocol is the surface that makes the model...
App Intents vs MCP: The Routing Question
Two protocols, one app. App Intents expose your app to Apple Intelligence. MCP exposes the same domain to Claude, ChatGPT, and the rest. The routing q...
What SwiftUI Is Made Of
SwiftUI is a result-builder DSL on top of a value-typed View tree. Once the substrate is visible, AnyView, Group, and ViewBuilder stop being mysteriou...
watchOS Runtime Is a Contract, Not a Background Task
watchOS has no iOS-style background. WKExtendedRuntimeSession is the contract; without it, the app suspends on wrist drop. Pattern shipped in Return.
MCP Server Alongside an iOS App: Two Agent Ecosystems, One List
Get Bananas runs on iOS, macOS, watchOS, and visionOS. It also lives inside Claude Desktop as an MCP server. Bridge: iCloud Drive plus a JSON file.
Five Apple Platforms, Three Shared Files: How Return Actually Ships Cross-Platform SwiftUI
Return runs on iPhone, iPad, Mac, Apple Watch, and Apple TV. Three Swift files are shared across all five targets out of 40 total. The rest is duplica...
Liquid Glass in SwiftUI: Three Patterns From Shipping Return on iOS 26
Apple's Liquid Glass is a one-line SwiftUI API. Three patterns from Return go beyond .glassEffect(): glass on text via Core Text glyph paths, mirror r...
HealthKit + SwiftUI on iOS 26: Authorization, Sample Types, and Cross-Platform Patterns
Real production patterns from Water (water tracking, HKQuantitySample) and Return (mindful sessions, HKCategorySample). Permission UX, async wrappers,...
App Intents Are Apple's New API to Your App
I shipped an App Intent in Water on Feb 8, 2026. Here's what Apple Intelligence wants from third-party apps in iOS 26, and why App Intents are the con...