首页

149
越来越慢的 App Review,拦住了谁?
2026 年 8 月 17 日 Issue #149

越来越慢的 App Review,拦住了谁?

App Store 审核变慢,已经是越来越多开发者能够明显感受到的变化。在 Vibe Coding 时代,App 的开发和迭代成本大幅降低,...
探索本期内容

Recent Weekly Issues

by Fatbobman

从使用 AI 到委托 AI:我的一些思考

从问答、代码生成,到让 Agent 接手更完整的工作,不知不觉间,我已经使用 AI 好几年了。这些年里,变化的不只是模型能力,人与 AI 的协作方式也一直在变。我也在一边使用,一边调整自己的方法。我关心的已经不只是“AI 能不能完成这项工作”,而是另外几个问题:执行范围是否稳定,结果能否被信任,投入是否可以预期,以及什么时候需要人介入。

by Fatbobman

ContentBuilder 解析:SwiftUI 类型检查性能提升的秘密

在 WWDC 2026 中,苹果工程师介绍了 SwiftUI 的一个新特性——ContentBuilder。从使用方式看,它似乎只是一个覆盖范围更广的 ViewBuilder。苹果同时宣称,这项调整能够显著改善类型检查性能。本文将解析 ContentBuilder 的本质,探索性能提升背后的奥妙。

by Fatbobman

在 SwiftUI Text 中控制孤行:挖掘未公开的 avoidsOrphans

SwiftUI 的 Text 有一项默认行为:当段落末行只剩一个孤词或孤字时,它会主动把上一行的完整词组一并推到末行,避免“落单”。这份体贴多数时候是对的,但代价是上一行可能留下一大片空白——在窄容器或中英混排的场景中,反而破坏了段落的均衡。本文将挖掘 SwiftUI 中一个早已存在、却始终未曾公开的 API —— `avoidsOrphans`,让开发者重新拿回这项控制权。

Guest Post by Megabits

Liquid Glass:UIKit 适配踩坑实录

尽管 Liquid Glass 已经推出两年,但它带来的兼容性问题并未完全消失。SLIT_STUDIO 的开发者 ⁠Megabits 结合真实项目,总结了 UIKit 在适配过程中的多个典型坑点及应对方法。

by Fatbobman

两个 SwiftUI 动画 Bug 排查小记

易用的动画一直是 SwiftUI 的主要特色之一。但声明式框架的特性是一把双刃剑:动画一旦出现异常,排查往往比命令式框架更棘手。本文记录了过去两周里,我在开发中遇到的两个与 SwiftUI 动画有关的 Bug,以及对应的排查过程。

by Fatbobman

从 Size Class 到可用空间,horizontalSizeClass 还可靠吗?

从 WWDC 26 开始,iPhone 应用在 iPhone Mirroring 到 Mac 时,其窗口尺寸将支持自由调整。这次更新带来的影响远不止“iPhone 应用可以调整尺寸”这么简单。它正在改变许多开发者长期以来对布局系统的理解。这种变化究竟是一次突然出现的转向,还是 Apple 多年布局下的必然演进?本文将对此进行探讨。

by Fatbobman

Core Data + Observation:从属性级响应到心智解放

Observation 框架的推出,让 SwiftUI 的状态响应从对象级进一步细化到属性级,显著缓解了许多由粗粒度观察带来的无效刷新问题。我近期在 Core Data Evolution 中探索并实现了对 Observation 的支持,赋予 NSManagedObject 属性级的精确观察能力。本文将围绕这一能力的动因、使用方式、实现思路、工程挑战以及开发过程中的一些取舍展开讨论。

by Fatbobman

用自定义 Layout 化解 SwiftUI List 的行高与间距跳变

动画的声明式表达是 SwiftUI 的核心优势之一。但在某些场景里,结果并不总像我们期待的那样平滑。一个典型例子是:当 `List` 行内的内容高度发生动态变化——副标题从空变为非空、文本因更新而导致行数变化——系统自带的布局引擎往往无法给出连续的过渡动画。本文从这个现象出发,逐层拆解原因,给出一种完全基于 SwiftUI 原生能力的解决方案;也借这条路径回看 SwiftUI 在布局机制层面的几个关键约束。