Blog
Notes on Swift, SwiftUI and Apple’s frameworks, and on the hardware and tools I build on the side.
Series Swift concurrency for GCD hands A short course for iOS developers who learned concurrency on Grand Central Dispatch. Each chapter starts from the way you would do it with GCD and then shows what Swift concurrency actually does. I’m making the same move myself and write the chapters as I go. Contents- Actors for GCD hands: isolation, reentrancy and the main actor What replaces the serial queue, why an actor lets other calls in while it waits, and what @MainActor gives you that main.async never did.
- async/await for GCD hands: suspension, tasks and the pool you must not block What happens at an await, who runs an async function, and why a semaphore that was harmless under GCD can hang a Swift concurrency app.
- Wrapping iOS apps with the Intune App Wrapping Tool: a practical guide How to wrap an iOS app for Intune without touching its code: prerequisites, signing, MSAL settings, which app protection policies a wrapped app supports, and the three failures that cost me the most time.