Fatbobman's Swift Weekly #084
Awaiting WWDC 2025 with SerenityTime 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? Previous Issue|Newsletter Archive If you appreciate my work and want to promote your product to the Swift and iOS developer community, sponsoring my blog & newsletter could be an excellent opportunity for you. OriginalDemystifying SwiftUI’s .ignoredByLayout() — How to Apply Geometry Effects Without Breaking Your LayoutAmong SwiftUI’s many APIs, Recent RecommendationsAccessorise Your Context Menu InteractionsIn 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
Finally Fixing My Swift Charts Alignment ProblemWhile using Swift Charts, Chris Wu encountered a strange issue: charts rendered with The issue turned out to be with the
SwiftUI Picker With Optional SelectionThere are many useful but lesser-known API details in SwiftUI—for example, before reading this article, I didn’t know that Default isolation with Swift 6.2Under 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
SQLite Databases in App Group Containers: Just Don'tTo 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.
Simplifying Focus Management in SwiftUI with a Custom ViewModifierWhile ToolsRedLineRedLine 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.
在平淡中等待 WWDC 2025不知不觉,距离 WWDC 2025 开始只有 20 天了。在过去的几年中,每当此时我都会写几篇文章畅想 WWDC 上会带来的新功能和我期待的一些变化。 然而,或许是因为最近两年 WWDC 上展示的许多新功能并未完全落地,就我个人而言,今年似乎少了往日的热情和渴望。希望这只是我个人的情况。 期待越高,失望越大。避免失望的最好方式莫过于调整期待值。今年,我选择以更加平和的心态迎接 WWDC 的到来,不过分期待,不盲目乐观,但也不放弃对技术进步的关注与思考。 你呢?对即将到来的 WWDC 2025,你有什么期待或想法? 如果您发现这份周报或我的博客对您有所帮助,可以考虑通过 爱发电,Buy Me a Coffee 支持我的创作。 原创揭秘 .ignoredByLayout():让视觉变换“隐形”于布局之外在 SwiftUI 的众多 API 中, 近期推荐为上下文菜单加点料 (Accessorise Your Context Menu Interactions)在 iOS 信息应用中,用户点击消息后会弹出一个包含多种表情的辅助视图,其精巧的设计和自然的展开动画令人印象深刻。遗憾的是,苹果始终未开放这一实现方式的相关 API。在本文中,Seb Vidal 详尽介绍了如何通过 UIKit 的私有类
图表对齐之谜,终于解开了 (Finally Fixing My Swift Charts Alignment Problem)在使用 Swift Charts 时,Chris Wu 遇到了一个奇怪的问题:基于 问题出在
让 Picker 支持“未选择” (SwiftUI Picker With Optional Selection)SwiftUI 中有不少实用却鲜为人知的 API 细节——至少在读这篇文章之前,我并不知道 Swift 6.2 默认隔离机制解析 (Default isolation with Swift 6.2)在 Swift 6 对并发的严格检查下,即便代码只在单线程中运行,开发者仍需添加大量显式标注以满足类型系统的安全要求。为此,Swift 6.2 引入了一个重要改进:默认隔离(default isolation)。 Matt Massicotte 在本文中介绍了如何通过
别把 SQLite 放进 App Group (SQLite Databases in App Group Containers: Just Don't)为了在 Widget 和 App Intents 中共享数据,许多开发者选择将 SQLite 数据库存放在 App Group 容器中。然而,Ryan Ashcraft 指出,这种看似合理的做法可能导致难以调试的系统崩溃,最典型的是神秘的 0xDEAD10CC 错误。该错误并非死锁,而是 iOS 为防止挂起进程长期持有文件锁、阻塞其他进程访问数据库,而强制终止 App 的机制。Ryan 在文中详解了触发机制及多个缓解方案,但也坦言这些策略实现复杂、效果有限。
用自定义 Modifier 优雅管理焦点 (Simplifying Focus Management in SwiftUI with a Custom ViewModifier)SwiftUI 的 工具Swift 6.1 编程指南中文版在过去的两个月里,SwiftGG 翻译组对《Swift 编程指南》进行了重要升级:不仅将手册内容同步至 Swift 6.1,还对中文官网的设计风格进行了调整,使其与 Swift 官方文档保持一致,带来更加统一和现代的阅读体验。
RedLineRedline 是由 Robb Böhnke 开发的 SwiftUI 视图 Modifier 合集,提供了丰富的可视化工具,用于标示视图的位置、尺寸、间距和对齐方式,帮助开发者快速验证布局实现或排查界面问题。
Welcome to my blog Fatbobman's Swift Blog( 肘子的Swift记事本 ) |