Advanced

In-depth posts (10-18 min) covering architecture, advanced Swift features, performance, testing, and cutting-edge topics like on-device AI and visionOS. Grouped by topic cluster for focused learning.

`some` vs `any` in Swift: Opaque Types and Existential Types Demystified

Understanding when to use `some` vs `any` is critical. This post explains performance implications, protocol type erasure, and a practical decision framework.

intermediate 12 min read ·

Associated Types in Swift Protocols: Building Powerful Generic Abstractions

When a protocol needs to be generic over a type it doesn't know yet, associated types are the answer. Learn `associatedtype`, `where` clauses, and real-world type-erased wrapper patterns.

intermediate 11 min read ·

Advanced Generics in Swift: Conditional Conformance, Type Erasure, and Phantom Types

Go beyond basics. Explore conditional conformance, recursive constraints, generic subscripts, type erasure patterns (`AnyPublisher`, `AnySequence`), and phantom types for compile-time safety.

advanced 15 min read ·

Protocol-Oriented Programming vs OOP: When to Use Each in Swift

Apple called Swift a 'protocol-oriented language.' But when do protocols beat classes? A practical comparison with code examples covering composition, default implementations, and trade-offs.

intermediate 13 min read ·

Swift Macros: How They Work, How to Read Them, and How to Write Your Own

Macros are Swift's most powerful metaprogramming feature. Understand how `@Observable`, `#Preview`, and `@Model` work under the hood. Learn to expand macros and build your own with SwiftSyntax.

advanced 18 min read ·

Result Builders in Swift: The Magic Behind SwiftUI's DSL

Every time you write a SwiftUI `body`, you're using a result builder. Learn how `@resultBuilder` works, create custom DSLs, and explore use cases beyond UI: HTML builders, animation builders, and config DSLs.

advanced 14 min read ·

Building Custom Property Wrappers: Validation, Clamping, and Dependency Injection

Go beyond built-in wrappers. Build a `@Clamped` wrapper, a `@Validated` wrapper for form input, a `@UserDefault` for type-safe storage, and an `@Injected` for dependency injection.

intermediate 12 min read ·

Mastering `Codable` in Swift: Custom Keys, Nested Containers, and Dynamic Decoding

Go far beyond basic `Codable`. Handle mismatched JSON keys, decode nested and polymorphic JSON, write custom `init(from:)` and `encode(to:)`, and build decoder wrappers for messy APIs.

intermediate 14 min read ·

Tasks and Task Groups in Swift: Structured Concurrency Explained

Structured concurrency is Swift's answer to thread management chaos. Learn `Task`, `Task.detached`, `TaskGroup`, `withThrowingTaskGroup`, task cancellation, and priority.

intermediate 13 min read ·

Actors in Swift: Eliminating Data Races at Compile Time

Actors are Swift's answer to shared mutable state. Learn how `actor` isolation prevents data races, understand `@MainActor`, `nonisolated`, and the Sendable protocol for safe concurrency boundaries.

intermediate 14 min read ·

`AsyncSequence` and `AsyncStream`: Processing Values Over Time in Swift

When you need a stream of asynchronous values — like server-sent events, file lines, or notifications — `AsyncSequence` and `AsyncStream` are your tools. Learn to consume, create, and transform them.

intermediate 11 min read ·

Using `async`/`await` in SwiftUI: `.task`, `@MainActor`, and Thread-Safe View Updates

SwiftUI and Swift Concurrency were designed to work together. Learn how `.task` replaces `onAppear`, how `@MainActor` guarantees UI updates, and common pitfalls that cause crashes.

intermediate 12 min read ·

Migrating to Swift 6: A Practical Guide to Fixing Concurrency Errors

Enabling strict concurrency checking can produce dozens of errors. Walk through the most common Swift 6 migration errors — `Sendable` violations, global variable isolation, closure captures — with before/after fixes.

advanced 18 min read ·

Swift 6.2 Approachable Concurrency: `@concurrent`, Default Main Actor, and What Changed

Swift 6.2 made strict concurrency far less painful. Learn about default main actor isolation, the new `@concurrent` attribute, `nonisolated(nonsending)`, and how these changes affect migration strategy.

advanced 14 min read ·

Combine vs `AsyncSequence`: Which Should You Use in 2025?

Combine was Apple's reactive framework, but Swift Concurrency provides async alternatives. Compare both for common patterns and get a decision framework for when to use each.

intermediate 12 min read ·

The Observation Framework: How `@Observable` Replaced `ObservableObject`

iOS 17 introduced a new way to observe state. Understand why `@Observable` replaced `@ObservableObject`, how fine-grained observation eliminates unnecessary redraws, and how to migrate.

intermediate 12 min read ·

SwiftUI Data Flow Patterns: From Single View to Multi-Screen Architecture

A practical guide to choosing the right data flow pattern. Covers `@State` for local state, `@Observable` view models, `@Environment` for shared dependencies, and patterns for complex navigation hierarchies.

intermediate 14 min read ·

Navigation Architecture in SwiftUI: `NavigationStack`, Coordinators, and Deep Links

Navigation in SwiftUI has evolved significantly. Covers programmatic navigation with `NavigationPath`, the coordinator pattern, deep link handling, tab + stack composition, and common pitfalls.

intermediate 15 min read ·

Custom View Modifiers and Button Styles in SwiftUI

Stop repeating `.font().foregroundColor().padding()` chains. Learn to extract reusable view modifiers with `ViewModifier`, create custom button styles, and build a mini design system.

intermediate 10 min read ·

SwiftUI Animations: Implicit, Explicit, Matched Geometry, and Custom Transitions

Make your app feel alive. Master implicit animations, explicit `withAnimation()`, spring physics, `matchedGeometryEffect`, `PhaseAnimator`, `KeyframeAnimator`, and custom transitions.

intermediate 14 min read ·

SwiftUI Performance: Identifying and Fixing Unnecessary View Redraws

SwiftUI is declarative but not automatically fast. Learn to profile with Instruments, understand structural identity, avoid common pitfalls, use `Equatable` views, and leverage `@Observable`'s fine-grained tracking.

advanced 15 min read ·

Custom Shapes in SwiftUI: `Path`, `Shape`, `Canvas`, and Drawing APIs

Go beyond rectangles and circles. Draw custom shapes with `Path`, conform to the `Shape` protocol, use `Canvas` for high-performance drawing, and combine with gradients, shadows, and strokes.

intermediate 12 min read ·

Grids and Lazy Layouts in SwiftUI: `LazyVGrid`, `LazyHGrid`, and Custom Layouts

Build Pinterest-style grids, adaptive layouts, and complex arrangements. Covers `LazyVGrid`/`LazyHGrid`, the `Grid` view, and the iOS 16+ `Layout` protocol for fully custom algorithms.

intermediate 13 min read ·

Building Accessible SwiftUI Apps: VoiceOver, Dynamic Type, and Semantic Labels

Great apps work for everyone. Learn to add accessibility labels/hints/traits, support Dynamic Type, handle reduced motion, test with VoiceOver, and use the Accessibility Inspector.

intermediate 12 min read ·

MVVM in SwiftUI: Practical Patterns with `@Observable` View Models

The most popular architecture pattern, revisited for `@Observable`. Learn how to structure view models, handle side effects, manage navigation state, and test view models independently.

intermediate 14 min read ·

Dependency Injection in Swift: From Manual DI to `@Environment`

Decoupled code is testable code. Explore four DI patterns — constructor, property, protocol-based, and SwiftUI's `@Environment` — with a comparison of when each fits.

intermediate 12 min read ·

Building a Clean Networking Layer: APIClient, Endpoints, and Error Handling

Move beyond scattered URLSession calls. Build a reusable, testable networking layer with protocol-based API clients, type-safe endpoints, interceptors, retry logic, and mock-friendly abstractions.

intermediate 16 min read ·

Modular App Architecture: Splitting Your App into Swift Packages

As apps grow, monolithic targets become a bottleneck. Split features, domain logic, and shared infrastructure into local Swift packages for faster build times and enforced boundaries.

advanced 15 min read ·

SOLID Principles Applied to Swift: Practical Examples for iOS Developers

The five SOLID principles adapted for Swift and iOS. Each principle gets a real-world code example showing the 'before' (violation) and 'after' (applied) with protocols, generics, and value types.

intermediate 14 min read ·

SwiftData Relationships: One-to-Many, Many-to-Many, and Complex Queries

Model real-world data structures. Learn `@Relationship` with delete rules, compound `#Predicate` queries, `SortDescriptor`, `FetchDescriptor`, and bidirectional relationships.

intermediate 14 min read ·

SwiftData Schema Migrations: Versioning Your Schema Without Losing User Data

Shipping schema changes without corrupting user data is critical. Learn `VersionedSchema` and `SchemaMigrationPlan`, lightweight vs custom migration stages, common pitfalls, and a testing strategy.

advanced 13 min read ·

SwiftData vs Core Data: An Honest Comparison and Migration Decision Guide

When should you use SwiftData, when stick with Core Data, and when use both? An honest assessment covering feature parity gaps, CloudKit sync, performance, and a decision matrix.

advanced 16 min read ·

Storing Sensitive Data in the Keychain: Passwords, Tokens, and Secrets

`UserDefaults` is not for passwords. Learn to securely store credentials in the iOS Keychain, build a reusable `KeychainManager`, handle access control flags, and work with biometric authentication.

intermediate 11 min read ·

Unit Testing in Swift: Getting Started with the Swift Testing Framework

Apple's Swift Testing framework replaces XCTest for many use cases. Learn `@Test`, `@Suite`, `#expect`, `#require`, parameterized testing, tags, traits, and comparison to XCTest.

intermediate 13 min read ·

Testing SwiftUI Views: View Models, Snapshots, and Integration Tests

SwiftUI views are declarations, not objects — so how do you test them? Strategies for testing view models in isolation, `ViewInspector`, snapshot testing with `swift-snapshot-testing`, and integration tests.

intermediate 14 min read ·

Debugging Performance Issues with Instruments: Leaks, Time Profiler, and Allocations

When your app stutters, leaks memory, or drains battery, Instruments is your X-ray machine. Profile with Time Profiler, find leaks with Leaks/Allocations, diagnose network issues, and measure SwiftUI redraws.

intermediate 15 min read ·

Apple's Foundation Models Framework: Running AI On-Device in Your iOS App

Apple's Foundation Models framework brings on-device LLM inference to iOS 26+. Learn setup, text generation, guided generation with schemas, token management, and privacy-first AI integration.

advanced 16 min read ·

Integrating Core ML Models in SwiftUI: Image Classification, NLP, and Custom Models

Bring machine learning to your app. Import `.mlmodel` files, run inference, use Vision for image analysis, classify text with Natural Language, and convert models from TensorFlow/PyTorch.

intermediate 14 min read ·

Designing Prompts for On-Device AI: Patterns and Anti-Patterns for iOS Apps

On-device models have constraints cloud APIs don't. Learn prompt engineering patterns optimized for Apple's Foundation Models — structured output, conversation management, and graceful fallbacks.

advanced 12 min read ·

Getting Started with visionOS: Spatial Computing Concepts for iOS Developers

Leverage your SwiftUI skills for Apple Vision Pro. Understand volumes, immersive spaces, RealityKit, entity-component architecture, spatial layout, hand tracking, and introducing 3D to a 2D app.

intermediate 15 min read ·

Swift on the Server: Building REST APIs with Vapor

Your Swift skills aren't limited to iOS. Build backend APIs with Vapor, define routes, work with Fluent ORM, handle authentication, and deploy a server that shares models with your iOS app.

intermediate 16 min read ·

Understanding the SwiftUI App Lifecycle: `@main`, `Scene`, and `WindowGroup`

How does a SwiftUI app start, and what happens in the background? Understand `@main`, `App` protocol, `WindowGroup`, `DocumentGroup`, scene phases, and state restoration.

intermediate 10 min read ·

Push Notifications in Swift: Setup, Handling, and Rich Notifications

From APNs registration to rich media attachments. Configure push entitlements, handle device tokens, process notifications, create content extensions, and implement action buttons.

intermediate 14 min read ·

WidgetKit and Live Activities: Extending Your App to the Home Screen and Lock Screen

Widgets and Live Activities bring content where users look. Build timeline-based widgets, create interactive widgets, implement Live Activities with `ActivityKit`, and design for Dynamic Island.

intermediate 16 min read ·

iOS App Security: Certificate Pinning, Jailbreak Detection, and Data Protection

Protect your users and your app. Covers ATS, certificate pinning, keychain security flags, data protection classes, secure coding practices, obfuscation basics, and App Attest.

advanced 14 min read ·

Swift Testing Framework: Apple's Modern Replacement for XCTest

Apple's official replacement for XCTest. Covers @Test, @Suite, #expect(...), parameterized testing with @Test(arguments:), parallel execution by default, and withKnownIssue for expected failures.

intermediate 12 min read ·

Swift 6.1 New Features: Trailing Commas, @objc @implementation, and More

Trailing commas everywhere (tuples, generics, function calls), @objc @implementation for writing Swift instead of ObjC @implementation blocks, background indexing by default, and package traits for conditional API exposure.

intermediate 10 min read ·

Swift 6.2 New Features: Default Main Actor, InlineArray, and More

The most impactful Swift release in years. Default @MainActor isolation, InlineArray<N, Element>, Observations async sequence, @concurrent attribute, concrete notification types, and WebAssembly support.

intermediate 14 min read ·

InlineArray and Stack-Allocated Collections: Eliminating Heap Overhead in Swift

InlineArray<N, Element> stores elements on the stack without heap allocation, supports non-copyable types, and eliminates reference counting overhead. Pairs with Span/MutableSpan for high-performance data processing.

advanced 12 min read ·

Span and MutableSpan: Safe Contiguous Memory Access in Swift

Non-escapable types providing bounds-checked memory access without reference counting. Lifetime enforced at compile time via ~Escapable. Available on Array, InlineArray, and raw buffers, bridging Swift safety and C-level performance.

advanced 14 min read ·

Isolated Conformances in Swift 6.2: Solving the Most Common Migration Pain Point

@MainActor-isolated types can now conform to protocols with extension MyModel: @MainActor SomeProtocol. Directly solves one of the most common Swift 6 migration pain points.

intermediate 10 min read ·

@concurrent and the Single-Threaded Default: Swift 6.2's Concurrency Shift

Async functions now run on the calling actor by default — a major behavioral shift from Swift 6.0/6.1. The @concurrent attribute explicitly offloads work to a background thread. Complements the existing approachable concurrency coverage.

advanced 14 min read ·

Observations AsyncSequence: Transactional State Tracking for `@Observable`

The new Observations type wraps @Observable to produce a transactional AsyncSequence of state snapshots, avoiding redundant UI updates. A natural extension of the Observation framework.

intermediate 10 min read ·

Noncopyable Types (~Copyable): Ownership Semantics in Swift

~Copyable types, ownership semantics, consuming and borrowing parameter modifiers. Suppresses copy semantics for performance-critical code and enables unique ownership patterns.

advanced 14 min read ·

RegexBuilder: Swift's Type-Safe Regular Expression DSL

Swift's result-builder-powered Regex DSL. Typed captures, RegexBuilder DSL, TryCapture, and integration with Codable. Pairs naturally with result builders and string processing.

intermediate 12 min read ·

MeshGradient: Building Rich, Fluid Visuals in SwiftUI

MeshGradient is a 2D grid of color control points producing rich, fluid visuals. One of the most visually striking iOS 18 APIs — widely used in hero screens, loading states, and branded UI.

intermediate 10 min read ·

ScrollView Advanced APIs: Geometry Changes, Positions, and Transitions in SwiftUI

onScrollGeometryChange, scroll position binding, scrollTargetBehavior, and scrollTransition. Advanced scroll control beyond the basics covered in the zero-to-hero series.

intermediate 12 min read ·

@Entry Macro for Custom Environment Values: Eliminating Boilerplate in SwiftUI

The @Entry macro eliminates the multi-step boilerplate for custom EnvironmentValues extensions. A short, focused post on simplifying environment-based dependency injection.

intermediate 8 min read ·

Enhanced Tab View and Adaptive Sidebar: iOS 18's Redesigned Navigation

iOS 18 redesigned TabView with a floating tab bar that transitions to a sidebar on iPad. New Tab, TabSection, and .sidebarAdaptable APIs for adaptive multi-platform navigation.

intermediate 12 min read ·

Custom Visual Effects with `visualEffect` and Metal Shaders in SwiftUI

The `visualEffect` modifier, `colorEffect`, `distortionEffect`, `layerEffect`, and Metal shader integration for custom pixel-level rendering. Dramatically extends view modifier capabilities with GPU-powered effects.

advanced 14 min read ·

SwiftUI Custom Containers: `Group(subviews:)` and Compositional Layouts

ContainerValues, Group(subviews:) for custom ForEach-aware containers, and Section customization APIs. Enables truly compositional, reusable view containers in SwiftUI.

advanced 14 min read ·

Liquid Glass Design System: Adopting Apple's iOS 26 Visual Language

Apple's most significant design change since iOS 7. Learn glassEffect, GlassEffectContainer, .glassEffectID() for morphing transitions, .buttonStyle(.glass) and .buttonStyle(.glassProminent). Every iOS 26 app must adopt or deliberately opt out.

intermediate 14 min read ·

SwiftUI Navigation Migration for iOS 26: Tab Bars, Sidebars, and Glass Effects

tabBarMinimizeBehavior, tabViewBottomAccessory, backgroundExtensionEffect for glass sidebars, and updated NavigationSplitView. A practical migration guide for iOS 26 navigation changes.

intermediate 14 min read ·

Native SwiftUI WebView: Replacing WKWebView with First-Party Web Content

iOS 26 ships a first-party WebView view and WebPage observable model, replacing the painful WKWebView + UIViewRepresentable workaround. Covers setup, navigation, and JavaScript interaction.

intermediate 10 min read ·

Concurrency in SwiftUI: The Three Mental Models Every Developer Needs

Why View.body is @MainActor, which callbacks run off the main thread, and the correct pattern for bridging sync UI to async work. A critical knowledge gap for intermediate developers.

intermediate 14 min read ·

`@Animatable` Macro: Auto-Synthesized Animation Data for Custom Shapes

Auto-synthesizes animatableData for custom Shape types, with @AnimatableIgnored for non-animatable properties. Simplifies custom shape animations in iOS 26.

intermediate 8 min read ·

SwiftUI Toolbars in iOS 26: Spacers, Badges, and Scroll Edge Blur

ToolbarSpacer(.fixed), badge support on toolbar items, monochrome icon rendering, and scroll edge blur. Companion post to the iOS 26 navigation migration guide.

intermediate 8 min read ·

Swift Charts — Foundations: Building Data Visualizations in SwiftUI

Swift Charts (`Chart`, `BarMark`, `LineMark`, `PointMark`, `AreaMark`) is a first-party data visualization framework. Covers chart types, mark composition, axes, legends, and interactive selection.

intermediate 14 min read ·

Swift Charts 3D: `Chart3D` and `SurfacePlot` for Three-Dimensional Data

Chart3D and SurfacePlot add a Z-axis to Swift Charts with rotation and perspective gestures for immersive data visualization in iOS 26.

intermediate 10 min read ·

SF Symbols 7: Draw Animations, Gradients, and Magic Replace

The .draw symbol effect for handwriting-style path animation, Variable Draw for progress visualization, gradient rendering modes, and Magic Replace. Essential iconography APIs for iOS 26.

intermediate 10 min read ·

iPad Menu Bar and Window Controls: Productivity Features in iPadOS 26

The commands API now surfaces a native menu bar on iPad; new close/minimize/arrange window controls; windowResizeAnchor. Important for productivity apps targeting iPadOS 26.

intermediate 10 min read ·

Foundation Models: Structured Output with @Generable and Constrained Decoding

The @Generable macro enables type-safe, structured output from the on-device LLM via constrained decoding. Learn @Guide with ranges, counts, and regex patterns. The production-grade deep dive beyond the Foundation Models intro.

advanced 14 min read ·

Tool Calling with the Foundation Models Framework: Building Agentic iOS Apps

The Tool protocol, Arguments with @Generable, integrating external data sources (MapKit, WeatherKit, custom APIs), and parallel tool execution. Enables genuinely agentic behavior in iOS apps.

advanced 16 min read ·

Image Playground SDK: Embedding On-Device Generative Images in Your App

Embeds Apple's on-device generative image model in apps — programmatic image generation and editing via ImagePlaygroundViewController. Zero cloud cost with high creative app potential.

intermediate 12 min read ·

Writing Tools API: Integrating System-Wide Rewrite and Summarize in Your App

Integrates system-wide rewrite, proofread, and summarize features into any text editing surface. Every app with a TextEditor or TextField should adopt this for significant user value with minimal integration effort.

intermediate 10 min read ·

Create ML: Training Custom On-Device Models Without a Data Science Background

Train custom image classifiers, text classifiers, and sound classifiers without a data science background using Create ML's Swift API and GUI app. Ship custom ML models directly in your app.

intermediate 14 min read ·

Natural Language Framework: Text Analysis and NLP On-Device

Language identification, tokenization, part-of-speech tagging, named entity recognition, and sentiment analysis on-device. Practical for search, content filtering, and text analysis features.

intermediate 12 min read ·

Speech Framework — Live Transcription: Building Voice-Controlled Features

SFSpeechRecognizer with live audio input, word-level timestamps, and alternative interpretations. Building voice-controlled features and transcription tools for iOS apps.

intermediate 12 min read ·

MLX on Apple Silicon: Running Open-Source Models Locally

Apple Research's open-source framework for running models like Llama 3 on Apple Silicon. Niche but differentiating content for technically adventurous developers exploring local model inference.

advanced 16 min read ·

ActivityKit in iOS 26: Live Activities on CarPlay, Mac, and iPad

Live Activities now run on CarPlay, macOS Tahoe (menu bar), iPadOS 26, and support scheduled/time-bound activities. Covers the iOS 26 platform expansion with layout considerations per form factor.

intermediate 14 min read ·

WidgetKit in iOS 26: Push Reloads, Glass Rendering, and RelevanceKit

Push-driven widget reloads via APNs, widgetAccentedRenderingMode for Liquid Glass adaptation, RelevanceKit for Apple Watch Smart Stack ranking, and multi-state interactive controls.

intermediate 14 min read ·

AlarmKit: System-Level Alarms That Break Through Silent Mode

Brand-new framework giving third-party apps access to system-level alarm behavior that breaks through Silent mode and Focus filters. Schedule-based and countdown-based paradigms for fitness, meditation, and productivity apps.

intermediate 12 min read ·

App Intents: From Siri to Interactive Snippets in iOS 26

Learn AppIntent, AppShortcut, AppEntity, EntityQuery, and iOS 26 Interactive Snippets for integrating with Apple Intelligence, Siri, Spotlight, and Shortcuts.

intermediate 16 min read ·

BackgroundTasks Framework: Running Code When Your App Isn't Active

Learn BGAppRefreshTask, BGProcessingTask, and BGHealthResearchTask for syncing data, processing content, and running code when the user is not active.

intermediate 12 min read ·

Translation Framework: On-Device Language Translation for iOS Apps

One-line UI integration with translationPresentation, programmatic batch translation with TranslationSession, and iOS 26 Call Translation API for real-time VoIP.

intermediate 12 min read ·

StoreKit 2: In-App Purchases and Subscriptions with Modern Swift APIs

Product.products(for:), Transaction, SubscriptionInfo, purchase flow, entitlement checking, SubscriptionOfferView, and iOS 26's Advanced Commerce API.

intermediate 16 min read ·

HealthKit: Workouts, Mental Health APIs, and iPhone-Native Sessions

Reading step count, writing workout sessions, mental health APIs (HKStateOfMind), and iOS 26's iPhone/iPad-native workout sessions.

intermediate 14 min read ·

Passkeys and AuthenticationServices: The Future of iOS Authentication

ASAuthorizationAccountCreationProvider for one-sheet passkey account creation, automatic background passkey upgrades, and ASCredentialUpdater.

intermediate 14 min read ·

Declared Age Range and PermissionKit: Privacy-Preserving Age Verification

DeclaredAgeRange framework returns parent-verified age categories without collecting a birthdate. PermissionKit routes child-to-parent communication requests. Required by law in multiple jurisdictions for consumer apps targeting minors.

intermediate 10 min read ·

FinanceKit: Reading Financial Transaction Data in iOS Apps

Brand-new iOS 18 framework for reading transaction history from Apple Card and other financial accounts with user permission.

intermediate 12 min read ·

Vision Framework: OCR, Document Scanning, and Text Recognition

VNRecognizeTextRequest for OCR, DataScannerViewController for live camera scanning, and iOS 26 RecognizeDocumentsRequest for complete document reading.

intermediate 14 min read ·

MapKit for SwiftUI: Maps, Markers, Routing, and Custom Styles

iOS 17's redesigned MapKit SwiftUI API: Map, Marker, Annotation, MapCameraPosition, MapStyle, MapPolyline, and routing with MKDirections.

intermediate 14 min read ·

Core Location Modern API: Async Updates and Geofencing

CLLocationUpdate.liveUpdates() async sequence replaces the old delegate pattern. CLMonitor for geofencing, background location authorization, and the significant-change service.

intermediate 12 min read ·

WeatherKit: Fetching Forecasts with Swift's Native Weather API

WeatherService.shared.weather(for:) returns hourly, daily, and minute-by-minute forecasts with no user tracking. Learn to integrate weather data into your apps.

intermediate 10 min read ·

TipKit: Feature Discovery with Contextual Hints and Eligibility Rules

Tip protocol, TipView, TipGroup, eligibility rules (#Rule), display frequency limits, and testing tips in previews.

intermediate 10 min read ·

RealityKit: AR and Spatial Computing Across All Apple Platforms

Entity-component architecture, ManipulationComponent, MeshInstancesComponent for instanced rendering, and Environment Occlusion.

intermediate 14 min read ·

HealthKit: Reading Health Data — Steps, Heart Rate, and Sleep

Authorization flow, HKSampleQuery, HKStatisticsQuery, HKAnchoredObjectQuery for incremental updates, step count, heart rate, and sleep data.

intermediate 12 min read ·

PassKit and Apple Pay: Payments and Wallet Passes in iOS

PKPaymentAuthorizationViewController, PKPaymentRequest, Wallet passes, and iOS 26's Wallet pass push notification updates.

intermediate 14 min read ·

LocalAuthentication: Adding Face ID and Touch ID to Your App

LAContext, canEvaluatePolicy, evaluatePolicy, biometric fallback flows, and integrating with Keychain for biometric-protected credentials.

intermediate 10 min read ·

CryptoKit: Encryption, Signing, and Post-Quantum Cryptography

SHA-256/512 hashing, AES-GCM symmetric encryption, P-256/Curve25519 asymmetric keys, HMAC signing, Secure Enclave keys, and iOS 26's ML-KEM and ML-DSA.

advanced 14 min read ·

EventKit: Calendar and Reminders Integration in iOS

EKEventStore, authorization, EKEvent creation and editing, EKReminder, and the iOS 17 unified authorization API.

intermediate 12 min read ·

AVFoundation: Custom Camera and Audio Capture in iOS

AVCaptureSession, AVCaptureDevice, custom camera UI, AVAudioEngine, and iOS 26's Spatial Audio capture via AVAssetWriter.

intermediate 14 min read ·

PDFKit: Building a PDF Reader with Annotations and Search

PDFView, PDFDocument, PDFAnnotation, form filling, text search, and programmatic PDF creation.

intermediate 12 min read ·

Core Image: Real-Time Camera Filters and Image Processing

CIFilter, CIKernel, CIContext, filter chaining, and real-time camera processing via AVCaptureVideoDataOutput.

intermediate 12 min read ·

ARKit: Your First Augmented Reality App with Plane Detection and Anchors

ARWorldTrackingConfiguration, plane detection, ARSCNView, hit testing, and iOS 26's Shared World Anchors for multiplayer AR.

intermediate 14 min read ·

Core Bluetooth: Connecting to BLE Accessories and IoT Devices

CBCentralManager, peripheral discovery, characteristic read/write, BLE notification subscriptions, and iOS 18's AccessorySetupKit.

intermediate 14 min read ·

Core Motion: Pedometer, Accelerometer, and Activity Recognition

CMPedometer, step counting, CMMotionManager for accelerometer/gyroscope, activity recognition, and altimeter.

intermediate 12 min read ·

HomeKit and Matter: Smart Home Accessory Control in iOS

HMHomeManager, controlling accessories, automation triggers, and Matter protocol integration.

intermediate 14 min read ·

UIKit Scene Lifecycle: Migrating from AppDelegate to UISceneDelegate

UIScene lifecycle adoption will be required in the next major release after iOS 26. Covers migrating from AppDelegate-only to UISceneDelegate, UIWindowScene, multi-window support, and new iPadOS 26 window controls.

intermediate 14 min read ·

Game Center and the Apple Games App: Leaderboards, Challenges, and Party Codes

New GKActivity for deep linking to in-game moments, GKChallenge for competitions, Party Codes for lobby joining, and the Xcode 26 GameKit bundle for declarative configuration. The new pre-installed Games app amplifies discoverability.

intermediate 12 min read ·

UIKit / SwiftUI Interoperability: Bridging Two UI Worlds

UIViewRepresentable and UIViewControllerRepresentable for wrapping UIKit views, coordinators for delegation, and bidirectional data flow. Essential for components without SwiftUI equivalents.

intermediate 14 min read ·

UIKit in iOS 26: Liquid Glass Variants and `@Observable` Integration

UIVisualEffectView gets Liquid Glass variants; UIKit views now automatically respond to @Observable models just like SwiftUI views. Bridges the gap for developers maintaining UIKit codebases.

intermediate 12 min read ·

Core Data to SwiftData Migration Guide: Incremental Adoption Strategy

The how-to-migrate companion to the SwiftData vs Core Data comparison. Covers incremental migration with NSPersistentCloudKitContainer, ModelContext bridging, rewriting NSFetchRequest as #Predicate, and migrating relationships.

advanced 16 min read ·

SwiftData Class Inheritance: Model Hierarchies and Type Filtering

New @Model class hierarchies, #Predicate { $0 is PersonalTrip } type-filtering, and propertiesToFetch for query optimization. One of the most-requested SwiftData features since launch.

advanced 14 min read ·

SwiftData Persistent History and Change Tracking Across Contexts

HistoryDescriptor, tracking remote changes, syncing across devices, and responding to background context changes. Production SwiftData apps need this to stay in sync with CloudKit and background processes.

advanced 14 min read ·

Custom SwiftData Data Stores: Beyond the Default SQLite Backend

Implementing a custom DataStore backend — JSON files, a remote server, or any custom format instead of Core Data's SQL store. Production flexibility for offline-first apps.

advanced 14 min read ·

CloudKit and iCloud Sync: Multi-Device Data with CKContainer

CKContainer, CKDatabase, CKRecord, CKQuery, NSPersistentCloudKitContainer, sync conflict resolution, and schema versioning across devices. Fundamental for multi-device apps.

intermediate 14 min read ·

SwiftData + CloudKit Sync: Enabling Seamless Multi-Device Persistence

Enabling cloudKitDatabase in modelContainer, handling sync conflicts, managing schema versioning across app versions, and testing sync locally. Bridges SwiftData with CloudKit for seamless sync.

advanced 14 min read ·

Xcode 26: The Features That Change How You Work

#Playground macro for inline code iteration, Xcode Intelligence (AI assistant), Swift Concurrency debugger with task IDs, Power Profiler, Processor Trace, Icon Composer for Liquid Glass app icons, and type-safe String Catalog symbols.

intermediate 14 min read ·

Swift Testing Advanced: Parameterized Tests, Parallel Execution, and Lifecycle

@Test(arguments:) for data-driven tests, .serialized trait, withKnownIssue for expected failures, confirmation for concurrent callbacks, and @Suite lifecycle. Companion to the Swift Testing Framework intro.

intermediate 14 min read ·

UI Automation Testing in Xcode 26: Record, Replay, and Review

The new UI recording system generates Swift test code from Simulator interactions, multi-configuration replay, and Automation Explorer for failure inspection. Dramatically lowers the barrier to UI testing.

intermediate 12 min read ·

Instruments: SwiftUI View Body Profiling with Cause & Effect Graphs

The new SwiftUI Instrument's Cause & Effect Graph shows exactly which state changes caused which view body re-evaluations, with frame-by-frame granularity. SwiftUI-specific profiling techniques for performance optimization.

intermediate 14 min read ·

Instruments: Power Profiler and CPU Counters for Energy-Efficient Apps

The new Power Profiler shows per-component energy breakdown (CPU, GPU, display, networking) and thermal behavior. CPU Counters gain preset modes for cache misses and branch mispredictions. Processor Trace on M4/iPhone 16 provides instruction-level tracing.

advanced 14 min read ·

Mastering the iOS Simulator with `simctl`: Push Testing, Screenshots, and CI

xcrun simctl push for push notification testing, status_bar override for App Store screenshots, recordVideo, addmedia, privacy reset for first-launch flows, and CI/CD scripting. Essential daily workflow tools.

intermediate 12 min read ·

TestFlight Beyond the Basics: Beta Groups, Feedback, and CI Automation

Beta Groups for A/B testing, feedback screenshots, crash report aggregation with Xcode Organizer, Xcode Cloud auto-publish workflows, and TestFlight app expiry management.

intermediate 10 min read ·

App Store Connect API and Fastlane: Automating iOS App Distribution

JWT authentication with .p8 keys, programmatic build upload, metadata updates, review submission, analytics reports, subscription management, and Fastlane integration. CI/CD automation for iOS developers.

intermediate 16 min read ·

Swift Package Manager: Build Plugins, Command Plugins, and Traits

Build tool plugins for code generation, command plugins for developer tooling, artifact bundles for binary dependencies, and SPM Traits for conditional API exposure. Advanced package management beyond basic consumption.

intermediate 14 min read ·

Reality Composer Pro: Building Spatial Experiences with Node-Based Tools

Shader Graph node-based material editor, particle system editor, spatial audio configuration, animation timeline, and USDZ/Reality file export. The primary tool for building custom materials and spatial content for visionOS.

intermediate 14 min read ·

Accessibility Inspector: Running a Full Audit of Your iOS App

One-click automated audit against Apple's accessibility guidelines, WCAG 2.1 color contrast checking, hover inspection of the live accessibility tree, and exportable HTML reports. The audit workflow companion to writing accessible code.

intermediate 10 min read ·

DocC: Documenting Swift Code with Interactive Tutorials and Rich References

Doc comment conventions, @DocumentationExtension, article pages, tutorial pages, DocC catalog organization, and publishing to GitHub Pages. Documentation tooling for Swift packages and apps.

intermediate 10 min read ·