# 老司机 iOS 周报 #353 | 2025-09-29

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/353.jpg?raw=true)
老司机 iOS 周报，只为你呈现有价值的信息。

你也可以为这个项目出一份力，如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们，我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 文章

### 🐢 [We Need to Talk About Observation](https://jaredsinclair.com/2025/09/10/observation.html)

[@Smallfly](https://github.com/iostalks)：这篇文章深度探讨了 Swift 观察机制的新旧范式更迭，从 `ObservableObject` + `Combine` 的旧时代到 `@Observable` 宏 + `Observations` 结构体的新生态，揭示了迁移过程中的关键挑战与设计考量。核心内容包括：

- **旧范式的价值**：回顾 `@Published` + `Combine` 在对象间观察（如 `UserCoordinator` 与 `SyncEngine`）的简洁性——自动管理订阅生命周期、支持跨对象响应，为复杂业务逻辑提供低耦合解决方案。
- **新范式的突破与局限**：分析 `@Observable` 宏在 SwiftUI 集成（属性访问优化、嵌套支持）的优势，同时指出 `withObservationTracking`（单次触发需递归调用）与 `Observations` 结构体（任务生命周期管理复杂）在非 UI 场景的不足——订阅取消需手动管理 `Task`、对象弱引用易出错。
- **迁移建议**：强调选择方案时需超越 UI 层考量，关注业务逻辑中对象间观察的实际需求，避免因新特性的「表面简洁」忽略生命周期管理的潜在风险。

文章以开发者视角对比新旧机制的工程实践差异，为理解 Swift 观察体系演进提供了务实的参考。

### 🐕 [Xcode Migrations: From Stone Age to AI Mastery](https://medium.com/qonto-way/xcode-migrations-from-stone-age-to-ai-mastery-d2590657e809)

[@Barney](https://github.com/BarneyZhaoooo)：这篇文章讲述了 Qonto 团队如何将 Xcode 升级从三周噩梦转变为一天自动化流程。
**背景：** 60+ iOS 工程师团队面临 Xcode 升级瘫痪开发流程的问题，依赖管理冲突和构建失败频发。
**核心改进：**
* **架构优化**：移除 CocoaPods，统一使用 Swift Package Manager
* **自动化监控**：Swift 构建的 Xcode Release Checker，CI 监控版本发布并 Slack 通知
* **沟通策略**：建立迁移门户和可视化时间线，团队理解度从 33% 提升至 90%
* **CLI 工具**：Swift 自动化迁移流程，包括分支创建、构建清理、版本更新等
* **AI 集成**：构建 Swift MCP 工具和 Xcode Migrator AI 助手，提供 24/7 技术支持

⠀**效果：** 迁移时间从 21+ 天缩短至 5 天（75% 减少），60+ 工程师零工作中断。通过持续改进理念，将最大痛点转化为竞争优势，目标进一步缩短至 1 小时。

### 🐢 [iOS Rendering Documentation](https://github.com/EthanArbuckle/ios-rendering-docs/blob/main/README.md)

[@Kyle-Ye](https://github.com/Kyle-Ye): 这份文档深入剖析了 iOS 渲染系统的底层架构，详细阐述了从 UIView 到 CALayer、CAContext 再到 FBSScene 的完整渲染管道。文档特别解释了 Front Board Scene (FBS) 的工作机制以及 CAContext 的 contextID 如何用于跨进程 IPC 通信。内容涵盖了层级合成模型、场景管理、渲染同步、动画协调等核心概念，为理解 iOS 图形系统提供了前所未有的技术深度。对于需要进行系统级渲染研究、性能优化或底层拦截开发的高级 iOS 开发者来说，这是一份极其宝贵的参考资料。

### 🐎 [Should you opt-in to Swift 6.2 ’ s Main Actor isolation?](https://www.donnywals.com/should-you-opt-in-to-swift-6-2s-main-actor-isolation/)

[@DylanYang](https://github.com/Dylan19Yang)：Xcode26 为工程带来了新的 actor 隔离默认配置值，允许全局的代码默认运行在 main actor 上。作者通过一些 demo 讲述了启动此配置后能帮助我们简化大量的标记 @MainActor 的代码，降低了并发代码的复杂度。同时作者建议大部分情况下可以默认开启此配置，并通过 @concurrent 标记来让特定代码去后台线程运行。感兴趣的开发者可以阅读本文详细了解下开关带来的实际影响。

### 🐎 [Flutter 官方 LLM 动态 UI 库 flutter_genui 发布，让 App UI 自己生成 UI](https://mp.weixin.qq.com/s/zrmuFMvcQDPUyun9c_N_Iw)

[@Crazy](https://github.com/jiyan135960)：现今在开发者领域 AI 已经进入了日常开发的方方面面，AI 生成 UI 也是大模型落地的一个方面，Flutter 官方更是开发了一个可以利用大模型动态生成 UI 的库，该库用“受控、可组合、可回传状态”的运行时 UI 替代文本，显著提升 AI 交互质量，并且与主流 LLM 框架的顺滑对接。但是更新也更加频繁，UI 的更新消耗也是很大的。该库主要的五个概念分别为 :UiAgent、Widget Catalog、AiClient、GenUiManager、GenUiSurface。关于具体的生成，可以看文章中的实例与图片演示。文章中提到的 Filebase 与 Gemini，都是由 Google 开发的，对国内开发者都不是很友好。

## 内推

重新开始更新「iOS 靠谱内推专题」，整理了最近明确在招人的岗位，供大家参考

具体信息请移步：https://www.yuque.com/iosalliance/article/bhutav 进行查看（如有招聘需求请联系 iTDriverr）

## 关注我们

我们是「老司机技术周报」，一个持续追求精品 iOS 内容的技术公众号，欢迎关注。

**关注有礼，关注【老司机技术周报】，回复「2024」，领取 2024 及往年内参**

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

同时也支持了 RSS 订阅：https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

## 说明

🚧 表示需某工具，🌟 表示编辑推荐

预计阅读时间：🐎 很快就能读完（1 - 10 mins）；🐕 中等 （10 - 20 mins）；🐢 慢（20+ mins）
