<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Vitalii Sydorskyi: blog</title><description>Notes on Swift, SwiftUI and Apple’s frameworks, and on the hardware and tools I build on the side.</description><link>https://vitsky.dev/</link><language>en</language><item><title>Actors for GCD hands: isolation, reentrancy and the main actor</title><link>https://vitsky.dev/blog/actors-for-gcd-hands/</link><guid isPermaLink="true">https://vitsky.dev/blog/actors-for-gcd-hands/</guid><description>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.</description><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><category>Swift</category></item><item><title>async/await for GCD hands: suspension, tasks and the pool you must not block</title><link>https://vitsky.dev/blog/async-await-for-gcd-hands/</link><guid isPermaLink="true">https://vitsky.dev/blog/async-await-for-gcd-hands/</guid><description>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.</description><pubDate>Tue, 27 Oct 2026 00:00:00 GMT</pubDate><category>Swift</category></item><item><title>Wrapping iOS apps with the Intune App Wrapping Tool: a practical guide</title><link>https://vitsky.dev/blog/wrapping-ios-apps-microsoft-intune-mam/</link><guid isPermaLink="true">https://vitsky.dev/blog/wrapping-ios-apps-microsoft-intune-mam/</guid><description>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.</description><pubDate>Thu, 13 Nov 2025 00:00:00 GMT</pubDate><category>iOS</category></item></channel></rss>