iOS Resources
Hand-picked Articles and Videos

Curated from top iOS blogs and YouTube channels. Stay up to date with high-quality content.

Latest curated iOS content

Generating a QR Code from a String in SwiftUI

May 8, 2026

The article explains how to generate QR codes from text using Core Image's built in qrCodeGenerator filter. It presents QRCodeGenerator as an enum with static functions (acting as a namespace, not an initializable type). The implementation uses CIFilter.qrCodeGenerator(), sets the message as Data from the input string, applies error correction level M, scales the output image (typically by 12x because the raw output is tiny), converts to CGImage then UIImage then SwiftUI Image. The article also covers using .interpolation(.none) to keep edges crisp, separating user input from committed QR code text with two @State properties, and handling failure cases.

Formatting Values in SwiftUI Text and TextField

May 8, 2026

The article explains how to use the format parameter in Text and TextField to display and accept formatted values. It covers numbers (notation, grouping, sign, decimal precision), percentages, currencies, dates (date components, intervals, relative dates, ISO 8601), temperatures, distance, file size, concatenating collections with list style, person names using PersonNameComponents, and URLs (hiding scheme, path, or domain). It also shows the difference between interpolated strings and proper formatted numbers (locale awareness), and how TextField with format automatically drops invalid characters.

Difference Between EnvironmentObject, StateObject, ObservedObject and Observable

May 8, 2026

The article explains the three property wrappers for ObservableObject in SwiftUI. @StateObject creates and owns the instance, keeping it alive across view redraws. @ObservedObject is for passing an already owned instance to child views. @EnvironmentObject injects an object implicitly into a view hierarchy to avoid prop drilling. The article also covers the iOS 17 shift to the @Observable macro, which replaces @StateObject and @ObservedObject with @State, eliminates @Published, and enables granular dependency tracking (only views that read a specific property redraw when it changes).

#2 Swiftable | Decode Your Swift Skills!

May 7, 2026

This newsletter issue covers several iOS interview and coding topics. It explains how to answer an undo/redo system question with Core Data (basic undo manager, grouped operations, child contexts for multi-screen flows). It covers designing an Instagram style feed with clarifying questions (content types, ranking algorithm, interactions, offline support, page size, heterogeneous items). It includes a Swift Bite about task cancellation not stopping automatically (need to check Task.isCancelled or try Task.checkCancellation). It also has a hot take that SwiftUI is ready for production but teams may not be ready because they bring UIKit habits.

Swift ARC: From Zombie Objects to Side Tables

May 6, 2026

The article explains how Swift's reference counting has evolved. It starts with the early design where objects stored strong and weak counts inline, creating "zombie objects" that remained allocated until all weak references were accessed. It then covers why this changed (memory overhead, concurrency concerns) and the modern side table design where weak references trigger allocation of an external structure. The article explains inline counts, the transition to side tables, how weak and unowned work today (including why unowned crashes), unowned(unsafe), and performance trade-offs between strong, weak, and unowned.

3 Key Strategies to Make SwiftUI Views More Reusable

May 5, 2026

The article explains three strategies for breaking down monolithic SwiftUI views. First, extracting small reusable components by moving chunks of code into dedicated structs with parameters, which improves readability and enables separate previews. Second, using view modifiers (ViewModifier protocol) to encapsulate styling logic, with extensions for clean dot syntax. Third, creating generic containers with @ViewBuilder that can host any content type without knowing it in advance. The article also warns against using computed properties as a shortcut because they hide complexity without decoupling.

Scheduling and handling background app refresh in SwiftUI

May 5, 2026

The article explains how to configure background app refresh in a SwiftUI app. It covers enabling background capabilities in Xcode, registering task identifiers in Info.plist, scheduling a background task with BGAppRefreshTaskRequest and setting earliestBeginDate, registering a handler using the backgroundTask(.appRefresh) scene modifier, and testing the background fetch in Xcode using a private debug command to simulate a launch.

In partnership with
Appcircle
Appcircle
Ship iOS releases without the chaos
See how Appcircle simplifies App Store publishing, from customizing release flows to re-signing builds and tracking every deployment in one place.
Watch on YouTube
© 2026 US iOS Employers. All rights reserved.
Made by
Stan
linkedin