Basics: Availability checks
Explains how to use Swift's availability checks to adopt new iOS APIs while maintaining backward compatibility with older system versions.
Explains how to use Swift's availability checks to adopt new iOS APIs while maintaining backward compatibility with older system versions.
Explains how to customize JSON encoding/decoding for external Swift types like TimeZone using wrapper types and Codable.
Explores using functions instead of protocols for dependency injection in Swift, with examples for mocking and testing.
A beginner's guide to using Swift actors for thread-safe concurrency, preventing data races and memory issues in applications.
Overview of new WKWebView APIs in iOS 15, including media playback control, async support, and theme color access.
A summary of new testing features announced at WWDC21, including Xcode Cloud, async/await for testing, and new XCTest APIs.
Explains how Swift 5.5's MainActor attribute automates dispatching UI updates to the main queue, replacing manual DispatchQueue.main calls.
Explores two new iOS 15 features for SFSafariViewController: preloading webpages and running custom Share Extensions.
A guide to using iOS 15's new native bottom sheet (sheetPresentationController) for UIKit, covering setup, customization, and programmatic control.
Explores the impact of Swift's new async/await syntax on the Combine framework, comparing it to traditional callbacks and Combine.
iOS 15 introduces major UIButton upgrades: new styles, subtitle support, image placement, and a centralized state update handler.
iOS 15 introduces a new `.formatted()` API for dates, numbers, and lists, simplifying localized formatting without direct formatter management.
A guide to writing unit tests for Swift async/await code using XCTest in Xcode 13, comparing it to older callback patterns.
A guide to writing deterministic Swift tests for date comparisons by avoiding reliance on the system clock and injecting reference dates.
A guide to implementing Swift's async/await concurrency API in Vapor & Fluent to replace EventLoopFuture-based code for cleaner, more maintainable server apps.
An interview with iOS developer Danijela Vrzan about her career transition from civil engineering to programming and her journey into iOS development with Swift.
A tutorial on using Swift 5.5's new async/await syntax to fetch REST APIs sequentially and concurrently, eliminating callback hell.
A guide to detecting if an iOS device is locked or sleeping using UIApplication.isProtectedDataAvailable and Keychain accessibility in extensions.
An interview with iOS developer Neil Sardesai discussing his journey into programming, early Apple Watch app development, and his current macOS projects.
A beginner's guide to using the new async/await APIs introduced in Swift 5.5 for writing concurrent code, including converting callback-based functions.