Build A Local-First Search Database With GRDB And SwiftUI
Learn to build a local-first search database using GRDB, SQLite FTS5, and SwiftUI for instant offline app searches.
Trevor — Senior iOS Developer and Swift enthusiast sharing practical tutorials and real-world insights on Swift, SwiftUI, Combine, and iOS app development, with a passion for continuous learning and building high-quality App Store apps.
95 articles from this blog
Learn to build a local-first search database using GRDB, SQLite FTS5, and SwiftUI for instant offline app searches.
Explains how to use BGContinuedProcessingTask in iOS 26 for user-initiated background exports like video rendering.
Learn how to test fatalError and preconditionFailure in Swift using Swift Testing's exit tests, which run code in a child process.
Learn how to use Swift Testing attachments in Xcode 26 to record diagnostic data like JSON, text, and images for better test failure reports.
Debugging SwiftUI performance issues by tracing state changes that cause slow view body updates using Instruments.
Guide to adding tool calling to Foundation Models sessions in Swift, with examples using SwiftUI and a reading-list app.
Learn to stream Foundation Models responses into SwiftUI for real-time UI updates using AsyncSequence and @Generable types.
Explores Swift 6.2 concurrency improvements for SwiftUI apps, including default main actor isolation and the @concurrent attribute.
How to build on-device search suggestions using Apple's Foundation Models framework for SwiftUI apps.
Tutorial on building 3D scatter plots in Swift using Chart3D, part of Swift Charts with WWDC25 updates.
Learn how to use Apple's new SpeechAnalyzer API in Swift for audio transcription on iOS 26 and macOS 26.
A tutorial on using App Intents to open SwiftUI screens from Spotlight, covering foreground intents, navigation, and app shortcuts.
Learn to build a rich text editor in SwiftUI using AttributedString and TextEditor, with formatting buttons and selection handling.
SwiftUI now has a native WebView without UIViewRepresentable, available on iOS 26+, with WebPage for state control.
Learn to use the iOS 18 Translation API in SwiftUI for translating user-generated text like reviews and messages.
Tutorial on keeping an iOS 18 Control Center toggle in sync with app state using WidgetKit and App Intents.
A step-by-step checklist for migrating an existing Xcode 16 app to Swift 6, focusing on concurrency checking and target-by-target migration.
Guide to migrating one XCTest file to Swift Testing with side-by-side framework usage.
Learn how to use SwiftData's #Index and #Unique macros to speed up searches and prevent duplicate records in iOS 18 apps.
Learn how to use SwiftData history tracking to detect changes since last check, with tokens and transactions for iOS/macOS apps.