首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Xcode 26 beta 4,要崩我们一起崩 | 肘子的 Swift 周报 #096

Xcode 26 beta 4,要崩我们一起崩 | 肘子的 Swift 周报 #096

作者头像
东坡肘子
发布2025-08-06 18:43:03
发布2025-08-06 18:43:03
3150
举报

weekly.fatbobman.com[1]订阅本周报的电子邮件版本。访问我的博客 肘子的 Swift 记事本[2]查看更多的文章。加入 Discord[3]社区,与 2000+ 中文开发者深入交流 Swift、SwiftUI 开发体验。

Xcode 26 beta 4,要崩我们一起崩

尽管仍有一些小问题,但我对 Xcode 26 之前几个测试版本的印象还是挺不错的。无论是焕然一新的视觉体验,还是为 AI 生成代码提供的更清晰标注,都让人眼前一亮。然而,在最近更新到 beta 4 后,这些好感却因为 Preview 的频繁崩溃而迅速消散。

在 Xcode 26 beta 4 中,只要使用 Preview 功能,通常仅需几秒到几十秒,Xcode 便会出现卡死症状。更可怕的是,紧接着就是毫无预警的系统崩溃重启。第一次遇到时,我着实震惊了——这是我在 macOS 26 上遇到的首次无预警系统崩溃。但当每次使用预览都必然触发这种情况时,我可以肯定,罪魁祸首就是 Xcode 的预览功能。

上网搜索后发现,这竟然是一个在发布前就已知晓的问题,这让我更加哭笑不得。不得不说,这个 Bug 的“威力”确实惊人——即便是专门编写恶意程序来让系统崩溃,也未必能如此“简单直接”。

自从开始使用 Claude Code 后,我几乎完全从 Cursor 切换回了 Xcode。正当我感叹终于可以鱼和熊掌兼得(既享受优秀的视觉体验,又拥有强大的 AI 辅助)时,这个问题的出现着实让人沮丧。

希望 beta 5 能尽快修复这个问题,否则崩溃的可就不仅仅是 Xcode 和系统了——还有我们开发者的耐心和信心。

经进一步研究发现,预览导致系统崩溃的问题更可能是由 iOS 26 模拟器引起的。即便使用稳定版 Xcode 16.4 搭配 macOS 26,只要将预览环境设置为 iOS 26,同样会导致系统崩溃。

前一期内容全部周报列表

欢迎 点赞 ♥️转发 👉

原创

Default Actor Isolation:好初衷带来的新问题[4]

尽管 Swift 严格并发检查的初衷是好的,但对于很多单线程场景来说,却明显增加了开发者的负担。开发者不得不在代码中添加一些并不必要的 Sendable@MainActor等声明,只为了满足编译器的要求。Swift 6.2 新增的 Default Actor Isolation 功能将极大地改善这种状况,减少不必要的样板代码。本文将对 Default Actor Isolation 功能进行介绍,并指出在使用该功能后需要注意的一些情况。

近期推荐

SwiftUI 愿景 (A SwiftUI Wish List)[5]

前 Safari 工程师 James Savage[6],曾深度参与 SwiftUI、App Clips 与多窗口系统等项目。在这篇文章中,他基于自身在 Apple 的经验,提出了一系列 SwiftUI 的改进愿景:包括引入类似 Swift 中 Span 的低阶生命周期管理机制、拓展 Transaction 的应用边界、提供交互式过渡动画的支持,以及开放更多 TextField 的视觉与行为自定义接口等。这些设想的核心在于——让 SwiftUI 更加独立、灵活,能真正承载起复杂 UI 的构建需求。


什么是平台工程师?(What Is a Mobile Platform Engineer?)[7]

在不少大型公司中,有一个对团队效率至关重要的角色:平台工程师。他们的“用户”是公司内部的开发者,工作重点在于构建共享工具、模块与架构,以提升整个开发团队的协作效率与交付质量。除了技术能力,平台工程师还需具备良好的沟通能力、项目协调力与跨团队推动变革的能力,是连接技术实现与组织发展的桥梁。Tjeerd in ’t Veen[8]在本文中,结合多年一线经验,深入剖析了这一岗位的职责、挑战与价值所在。


SwiftUI for Mac 2025[9]

作为 macOS by Tutorials[10]一书的作者,troz[11]一直密切关注 SwiftUI 在 macOS 上的演进。在这篇文章中,troz 分享了 2025 年 SwiftUI 在 macOS 26 上的一些新特性与实用技巧,并通过配套的示例 App[12]展示了如新图标格式、WebView 原生支持、富文本编辑、Liquid Glass 控件样式等关键更新。


Liquid Glass 使用前须知 (Liquid Glass - 5 Things You MUST Know Before Implementing)[13]

Liquid Glass 无疑是 WWDC 2025 中最引人注目的设计变革之一。但想要真正驾驭它,并不仅仅是套用视觉效果,更需要理解其背后的设计理念。在这段视频中,Sean Allen[14]总结了开发者在适配 Liquid Glass 前必须了解的五个关键点:优先使用原生组件;将 Glass 视为悬浮的控制层而非背景装饰;克制使用颜色,避免破坏图层可读性;理解并遵循“同心圆设计(Concentricity)”;使用 Icon Composer 重新设计统一的跨平台图标。Sean 强调,Liquid Glass 不只是视觉升级,更是一次设计语言与系统生态的深度统一。拥抱它,才能让你的 App 在新一代系统中保持现代感与一致性。


Swift 开发者的汇编入门 (Assembler for Swift Developers)[15]

随着硬件性能提升与高级语言的普及,现代开发者几乎无需接触汇编代码。但 Artur Gruchała[16]认为,对 Swift 开发者而言,理解汇编依然非常有价值——它能帮助我们更清晰地理解 Swift 是如何映射到底层指令的,也能在面对性能瓶颈或底层崩溃时,更高效地进行调试分析。在本文中,Artur 演示了如何在 Xcode 中创建 command-line 工程,添加 .s 汇编文件,并将其作为程序入口进行编译,最终构建一个能在终端输出 “Hello, Assembly!” 的最简汇编程序。这篇面向 iOS/macOS 开发者的教程,重点并非汇编语法本身,而是帮助开发者建立从高级语言到底层硬件的认知路径。Artur 也预告了后续文章将进一步深入指针、函数调用以及栈与堆的使用,值得持续关注。


移动开发中的双向门决策 (Two-Way-Door Decisions in Mobile Development Architecture)[17]

"双向门"决策是指具有有限且可逆后果的决定——如果结果不如预期,你可以回溯并尝试不同的方法。Xiangyu Sun[18]将亚马逊的这一决策理论应用到移动开发架构选择中,帮助开发者识别哪些技术决策是可逆的,从而能够快速行动。作者通过依赖注入库选择、导航框架、数据存储策略、分析 SDK 集成、构建系统和应用模块化等 6 个具体案例,详细阐述了如何在移动开发中做出高质量、高速度的技术决策。文章的核心观点是:大多数架构选择都是可逆的,开发者应该避免过度分析导致的决策瘫痪,而是快速实施并根据反馈进行调整。


更强的 SwiftUI 搜索 API (SwiftUI Search Enhancements in iOS and iPadOS 26)[19]

在 iOS/iPadOS 26 中,搜索栏的行为有了显著调整,不仅体现在位置变化上,还引入了全新的交互逻辑(如 TabView 中的搜索标签)和 Liquid Glass 设计风格。Natalia Panferova[20]在本文中详细展示了如何利用新的 API 和设计语言来构建现代化的搜索界面。文章通过工具栏搜索和标签栏搜索两种主要模式,提供了完整的代码示例,并详细说明了在 iPhone 和 iPad 上的不同表现形式,以及如何妥善处理版本兼容性问题。


用 SwiftUI 为 Xogot 开发 UI (Blissful UI Development with SwiftUI and Godot)[21]

SwiftUI 编译迅速、使用方便,因此非常适合作为基于 SceneKit、Unity、SpriteKit 等框架项目的 UI 实现方案。Miguel de Icaza[22]在本文中分享了如何将 SwiftUI 与 Godot 游戏引擎无缝集成,将其作为 Xogot[23]编辑器的 UI 层实现。文章重点探讨了如何利用 Observation 框架构建一套双向数据绑定模式,通过 156 个 Observable 对象管理复杂的编辑器状态,既保持了 SwiftUI 预览的快速迭代能力,又实现了与 Godot 引擎的深度集成。


内存泄漏排查实录 (How I Stopped a Silent Memory Leak in My iOS App)[24]

Egzon Pllana[25]在日常使用自己的 iOS 应用时发现了一个隐藏的内存泄漏问题——每次切换标签页都会增加 10-15MB 内存占用,十分钟使用后内存从 196MB 急剧膨胀到 310MB+。通过详尽的诊断分析,Egzon 最终成功将内存使用优化了 85%。文章深入剖析了三个主要的内存泄漏源:SwiftUI .id()修饰符的误用导致视图重复创建、异步任务生命周期管理不当,以及 Timer 对象的强引用循环。除了提供详细的问题分析和具体修复方案外,作者还将自制的内存监控工具开源[26],为其他开发者提供了一个实用的调试利器。

THANK YOU

如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞赞赏,并将其 转发给更多的朋友。

参考资料

[1]

weekly.fatbobman.com: https://weekly.fatbobman.com

[2]

肘子的 Swift 记事本: https://fatbobman.com

[3]

Discord: https://t.ly/gzxeh

[4]

Default Actor Isolation:好初衷带来的新问题: https://fatbobman.com/zh/posts/default-actor-isolation/?utm_source=fatbobman%20weekly%20issue%2096&utm_medium=web

[5]

SwiftUI 愿景 (A SwiftUI Wish List): https://l.fatbobman.com/w096-01

[6]

James Savage: https://bsky.app/profile/axiixc.social.axiixc.com.ap.brid.gy

[7]

什么是平台工程师?(What Is a Mobile Platform Engineer?): https://l.fatbobman.com/w096-02

[8]

Tjeerd in ’t Veen: https://x.com/tjeerdintveen

[9]

SwiftUI for Mac 2025: https://l.fatbobman.com/w096-03

[10]

macOS by Tutorials: https://troz.net/books/macos_tutorials

[11]

troz: https://mastodon.social/@troz

[12]

示例 App: https://github.com/trozware/swiftui-mac-2025?utm_source=fatbobman%20weekly%20issue%2096&utm_medium=web

[13]

Liquid Glass 使用前须知 (Liquid Glass - 5 Things You MUST Know Before Implementing): https://l.fatbobman.com/w096-04

[14]

Sean Allen: https://x.com/seanallen_dev

[15]

Swift 开发者的汇编入门 (Assembler for Swift Developers): https://l.fatbobman.com/w096-05

[16]

Artur Gruchała: https://x.com/gruchalaartur

[17]

移动开发中的双向门决策 (Two-Way-Door Decisions in Mobile Development Architecture): https://l.fatbobman.com/w096-06

[18]

Xiangyu Sun: https://x.com/budo_coder

[19]

更强的 SwiftUI 搜索 API (SwiftUI Search Enhancements in iOS and iPadOS 26): https://l.fatbobman.com/w096-07

[20]

Natalia Panferova: https://x.com/natpanferova

[21]

用 SwiftUI 为 Xogot 开发 UI (Blissful UI Development with SwiftUI and Godot): https://l.fatbobman.com/w096-08

[22]

Miguel de Icaza: https://x.com/migueldeicaza

[23]

Xogot: https://xogot.com?utm_source=fatbobman%20weekly%20issue%2096&utm_medium=web

[24]

内存泄漏排查实录 (How I Stopped a Silent Memory Leak in My iOS App): https://l.fatbobman.com/w096-09

[25]

Egzon Pllana: https://www.linkedin.com/in/egzon-pllana/

[26]

内存监控工具开源: https://github.com/egzonpllana/MemoryProfiler?utm_source=fatbobman%20weekly%20issue%2096&utm_medium=web

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 肘子的Swift记事本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Xcode 26 beta 4,要崩我们一起崩
  • 原创
    • Default Actor Isolation:好初衷带来的新问题[4]
  • 近期推荐
    • SwiftUI 愿景 (A SwiftUI Wish List)[5]
    • 什么是平台工程师?(What Is a Mobile Platform Engineer?)[7]
    • SwiftUI for Mac 2025[9]
    • Liquid Glass 使用前须知 (Liquid Glass - 5 Things You MUST Know Before Implementing)[13]
    • Swift 开发者的汇编入门 (Assembler for Swift Developers)[15]
    • 移动开发中的双向门决策 (Two-Way-Door Decisions in Mobile Development Architecture)[17]
    • 更强的 SwiftUI 搜索 API (SwiftUI Search Enhancements in iOS and iPadOS 26)[19]
    • 用 SwiftUI 为 Xogot 开发 UI (Blissful UI Development with SwiftUI and Godot)[21]
    • 内存泄漏排查实录 (How I Stopped a Silent Memory Leak in My iOS App)[24]
    • THANK YOU
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档