Fatbobman's Swift Weekly #085
Have You Registered for WWDC 2025 Group Labs Yet?Three months ago, during my communication with a certain Apple department, I reiterated my expectation for Apple to continue hosting group Q&A activities like Lounges or Ask Apple. I'm delighted to see that WWDC 2025 brings back this new group interaction initiative in the form of Group Labs. From the information currently disclosed, besides switching the participation platform from Slack to Webex, there have been some adjustments to the group categorization. The persistence frameworks and iCloud services that I personally follow closely don't have corresponding Labs, which perhaps suggests to some extent that these areas won't see major changes this year. Meanwhile, SwiftUI continues to maintain its dedicated Lab rather than being integrated into a comprehensive UI framework Lab, an arrangement that also highlights SwiftUI's significance. Due to time zone differences, the scheduling of these activities isn't particularly friendly for me (mostly happening during midnight or early morning hours). However, I still greatly enjoy the process of carefully browsing through the Q&A content after the live sessions, always learning quite a bit and staying updated with the latest developments. I'm just slightly concerned that with the platform switch to Webex, whether these valuable interactive contents will still be available for review for some time after the live sessions. Compared to the intensive interactions during WWDC, I'm more looking forward to Apple continuing to host Ask Apple-like activities in the months following WWDC. By that time, developers will have gained some practical experience with the new APIs, making their questions more targeted and helping them better understand Apple engineers' responses, thereby fostering deeper technical discussions. Regardless, being able to continue this group Q&A tradition is worthy of recognition. If you haven't registered yet, I'd suggest not hesitating. You can register to participate in the activity here. 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. OriginalExperience the Charm of Swift: One-Click DataFrame ExportThe more I work with Swift, the more captivated I am by its elegance. Swift allows me to express programming ideas with clarity, precision, safety, modernity, and grace. While these traits are easy to appreciate in theory, I recently built a small feature—just over a hundred lines—that beautifully brought them all together. By combining Swift’s generics, Recent RecommendationsExploring Concurrency Changes in Swift 6.2Many developers have found themselves puzzled by the evolution of concurrency in Swift 6. In this article, Donny Wals highlights several important updates in Swift 6.2:
Creating Xcode Source Editor ExtensionsIs Xcode missing a feature? Maybe we can build it ourselves. In this article, Moritz Philip Recke walks through creating, debugging, and distributing a Source Editor Extension in Xcode 16.2. From adding a new target, configuring
Apple Developer RelationsEveryone has a WWDC wish list. For troz, improving developer relations may be more urgent than flashy new features. In this post, he proposes three constructive ideas: open up iOS like macOS, make Feedback Assistant more transparent, and fix the long-criticized App Review process.
Mesh Gradients in SwiftUISwiftUI in iOS 18 and macOS 15 introduces
Reading Piped Input in Swift ExecutablesSwift isn’t just for iOS. It shines in CLI development too. In this article, Natan Rolnik demonstrates how to handle piped input using Swift—a common requirement for command-line tools. Through building a JSON beautifier, he shows how to check for piped input, read from standard input asynchronously, and process data efficiently. Understanding LLDB Print Commands for iOS Debugging with XcodeLLDB provides several print commands for inspecting variables at breakpoints. Natascha Fadeeva explains three of the most useful ones: ToolsImmutableDataCreated by Rick Van Voorden,
At its core, the framework encourages declarative UI with immutable state. All state transitions are triggered via Actions and processed in a centralized State layer, with the View layer reacting to state changes via subscriptions—strictly following the Action → State → View flow.
ObservableDefaults - Elegant Persistence in SwiftUI
注册 WWDC 2025 的 Group Labs 了没?三个月前,在与苹果某部门的交流中,我重申了对苹果继续举办 Lounges 或 Ask Apple 这类群体问答活动的期待。令人欣喜的是,WWDC 2025 中,全新的群体互动项目以 Group Labs 的形式回归了。 从目前披露的信息来看,除了将参与平台从 Slack 切换至 Webex 外,群组的分类设置也有了一些调整。我个人比较关注的持久化框架和 iCloud 服务并未设立对应的 Lab,这或许在一定程度上暗示着这些领域今年不会有太大的变动。而 SwiftUI 继续保有了独立的 Lab,而非整合在综合 UI 框架的 Lab 中,这一安排也凸显出 SwiftUI 的重要性。 受时差影响,这些活动的举办时间对我而言并不友好(基本都在半夜或凌晨时段)。不过,我依然很享受在直播结束后细细浏览互动问答内容的过程,从中总能学到不少知识,也能了解到许多最新动态。只是平台切换至 Webex 后,我略有些担心这些宝贵的互动内容是否还能在直播后继续保留一段时间供我们回顾。 相比 WWDC 期间的密集互动,我更期待苹果能在 WWDC 结束后的几个月里继续举办类似 Ask Apple 的活动。彼时,开发者们对新 API 已有了一定的实践经验,提出的问题会更有针对性,也更容易理解苹果工程师的解答,从而促成更加深入的技术探讨。 无论如何,能够延续这样的群体问答传统就值得肯定。如果你还未注册,建议不要犹豫。你可以在 此处 注册参与该活动。 如果您发现这份周报或我的博客对您有所帮助,可以考虑通过 爱发电,Buy Me a Coffee 支持我的创作。 原创感受 Swift 的魅力:一键导出 DataFrame随着对 Swift 理解的不断深入,我愈发被它的魅力所吸引。Swift 让我能以清晰、准确、安全、现代且优雅的方式表达编程思想。当我想要细数这些特质时,却发现难以言喻。直到最近在项目中实现了一个百余行的功能模块,才将这些吸引我的特性完美串联起来。通过 Swift 的泛型、KeyPath、协议扩展与 ResultBuilder,我们将打造一款类型安全的 DataFrame 导出工具,与 TabularData 完美结合。一起来探索列映射、条件逻辑以及简洁的 DSL 语法,感受 Swift 的独特魅力。 近期推荐Swift 6.2 并发新特性 (Exploring Concurrency Changes in Swift 6.2)相信不少开发者在 Swift 6 的演进过程中,都曾被并发系统的新特性“困住”过。这篇文章中,Donny Wals 着重介绍了 Swift 6.2 中的几个关键更新:
创建 Xcode 插件 (Creating Xcode Source Editor Extensions)Xcode 缺少某些能力?没关系,也许我们自己可以补上这一块。Moritz Philip Recke 以 Xcode 16.2 为基础,详细介绍了如何从零开始创建、调试并发布一个 Source Editor Extension。从添加扩展 Target、配置 Info.plist、实现
苹果开发者关系 (Apple Developer Relations)每个人都有自己的 WWDC 愿望清单,而对 troz 来说,或许“修复与开发者的关系”比新增功能更为迫切。在这篇文章中,他提出了三点颇具建设性的建议:开放 iOS,效仿 macOS 的灵活性;提升反馈系统的透明度;改进长期为人诟病的 App 审核流程。
Mesh Gradients in SwiftUI在 iOS 18 和 macOS 15 中,SwiftUI 引入了全新的
使用 Swift 处理管道输入 (Reading Piped Input in Swift Executables)Swift 并不只是 iOS 的专属语言。在 CLI 工具开发领域,它同样能够优雅高效地处理数据流。在这篇文章中,Natan Rolnik 详细介绍了如何使用 Swift 处理管道(piped)输入 —— 这是构建命令行工具时的常见需求。文章以一个将 JSON 美化输出的小工具为例,从检测标准输入到异步读取数据,完整展示了实现流程与关键细节。 LLDB 打印命令 (Understanding LLDB Print Commands for iOS Debugging with Xcode)LLDB 提供了多种打印命令,用于在断点处高效检查变量状态。Natascha Fadeeva 在本文中详细介绍了三种常用命令: 工具ImmutableData由 Rick Van Voorden 创建的
其核心主张是:摒弃传统 MVC/MVVM 架构中对“可变状态”的依赖,转而构建一个声明式、可组合、可测试的状态管理系统。所有状态更新都通过 Action 触发,状态层响应更新,视图层自动订阅变更并重新渲染 —— 严格遵循数据从 Action → State → View 的单向流动。
ObservableDefaults - 让持久化数据优雅地融入 SwiftUI
Welcome to my blog Fatbobman's Swift Blog( 肘子的Swift记事本 ) |