# 84 - Awaiting WWDC 2025 with Serenity

Published on

Article Image

Photo by Ante Hamersmit on Unsplash

Time flies, and there are only 20 days left until WWDC 2025 begins. In the past few years, I would always write several articles around this time imagining the new features WWDC might bring and the changes I was looking forward to.

However, perhaps because many features showcased at WWDC in the last two years haven’t been fully implemented, personally, I seem to lack the enthusiasm and eagerness I once had. I hope this is just my individual sentiment.

The higher the expectations, the greater the disappointment. The best way to avoid disappointment is to adjust those expectations. This year, I choose to welcome WWDC with a more peaceful mindset—not expecting too much, not blindly optimistic, but also not giving up on my attention to and thoughts about technological progress.

What about you? What are your expectations or thoughts about the upcoming WWDC 2025?

Original

Demystifying SwiftUI’s .ignoredByLayout() — How to Apply Geometry Effects Without Breaking Your Layout

Among SwiftUI’s many APIs, .ignoredByLayout() is something of an “understated member.” Information is scarce, usage scenarios are uncommon, and its very name tends to raise questions. It seems to suggest some kind of “ignoring” of the layout—but how does that differ from modifiers like offset or scaleEffect, which by default don’t affect their parent’s layout? When does ignoredByLayout actually come into play, and what exactly does it “ignore” or “hide”? In this article, we’ll lift the veil on this subtle API in SwiftUI’s layout mechanism.

Recent Recommendations

Accessorise Your Context Menu Interactions

In the iOS Messages app, tapping on a message brings up a reaction view with a variety of emojis. Its elegant design and smooth animation are impressive—but unfortunately, Apple has never made the underlying implementation public. In this article, Seb Vidal provides a detailed explanation of how to use the private UIKit class _UIContextMenuAccessoryView to build a similar interaction in your own app. Since this approach relies on private APIs, it poses a risk for App Store review. To address this, the author also provides an App Review-safe Swift implementation, using a more dynamic and indirect technique suitable for testing or internal tools.

Aether built on this research to create MenuWithAView, enabling SwiftUI developers to easily add custom accessory views to context menus.

Finally Fixing My Swift Charts Alignment Problem

While using Swift Charts, Chris Wu encountered a strange issue: charts rendered with LineMark would never align precisely with midnight—starting slightly after 12AM and ending just before the following 12AM. After spending considerable time reading documentation and consulting AI without success, he eventually found a crucial clue in a Stack Overflow comment with only two upvotes.

The issue turned out to be with the unit parameter in .value(_:unit:), which causes data points to fall halfway between two units (e.g., .hour displays 8:00 at 8:30). While this behavior works for bar charts, it leads to alignment issues in line charts. By removing unit: and calendar:, the chart finally aligned correctly with the midnight axis.

AI has its limits—when it comes to niche problems, a low-ranked but insightful forum post can still be the better answer.

SwiftUI Picker With Optional Selection

There are many useful but lesser-known API details in SwiftUI—for example, before reading this article, I didn’t know that .tag(nil) was supported. In this post, Keith Harrison demonstrates a simple yet practical technique: how to use Picker with an optional Binding, allowing users to select “None” or reset their selection—ideal for use cases like “No Project” or “Clear Selection”.

Default isolation with Swift 6.2

Under Swift 6’s strict concurrency checks, even code that only runs on the main thread requires numerous explicit annotations to satisfy the type system. To ease this burden, Swift 6.2 introduces an important improvement: default isolation. In this article, Matt Massicotte explains how to use .defaultIsolation(MainActor.self) to configure the isolation strategy at the module level, reducing boilerplate and improving the Swift concurrency experience.

This update gives developers more control, but also raises a design question: should the entire project default to @MainActor, or should you stick with explicit annotations? As Swift moves toward safer concurrency, choosing a sensible default becomes a key decision for every team.

SQLite Databases in App Group Containers: Just Don’t

To share data across widgets and App Intents, many developers choose to store their SQLite database in an App Group container. However, Ryan Ashcraft warns that this seemingly reasonable approach can lead to hard-to-diagnose crashes—most notably the mysterious 0xDEAD10CC error. This isn’t a deadlock; rather, it’s iOS forcefully terminating apps that hold file locks while suspended to prevent them from blocking other processes. Ryan explains the causes and several mitigation strategies, but also acknowledges their complexity and limitations.

0xDEAD10CC has been a longstanding system-level issue. Michael Tsai has compiled a discussion thread where others have shared related experiences and solutions.

Simplifying Focus Management in SwiftUI with a Custom ViewModifier

While @FocusState makes focus management in SwiftUI convenient, it also has clear limitations: it doesn’t integrate directly with @Binding, is hard to pass between views, and cannot be used in a view model. These limitations are especially problematic in complex forms or state-driven UIs. In this article, Artem Mirzabekian proposes a more flexible solution: FocusModifier, which manages focus using an optional Binding<T?>. When the value matches, the view is focused; when focus is lost, the binding is cleared. This approach makes focus management more composable, testable, and view-model friendly.

Tools

RedLine

RedLine is a collection of SwiftUI view modifiers created by Robb Böhnke. It provides a rich set of visual tools for displaying view bounds, sizes, spacing, and alignment—helping developers quickly verify layout behavior or debug positioning issues.

Tip: Robb includes code previews for each modifier, making them not only easy to use but also a great educational resource for understanding SwiftUI layout.

Weekly Swift & SwiftUI highlights!