Notes
Short write-ups on building iPhone apps: concurrency, security and the platform's sharp edges.
It guarantees where your code runs, not that nothing changes while it waits. Three places where that difference turns into bugs.
Swift · Concurrency · SwiftUI
SecItemAdd is the easy part. Accessibility classes, device-only items and the item that outlives your app decide whether your login really is secure.
Security · Keychain · iOS
A link that works while the app is running can do nothing on a cold start. Why, and how to route both paths through one place.
iOS · UIKit · SwiftUI · Deep links