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

根据 9TO5Mac 的报道[4],苹果正在为其生态系统添加 MCP(Model Context Protocol)支持,以实现智能体 AI 功能。其实现路径与我们在周报 #077[5]中的设想十分吻合:通过开发者熟悉的 App Intents 框架进行系统级集成,既保持了苹果一贯追求的“可控、安全、完整”用户体验,又巧妙规避了让普通用户直接面对复杂 MCP 配置的门槛。
过去半年,大模型的边际改进明显递减,整个行业的焦点已从技术突破转向价值落地。这个转折点恰好给了在大模型领域"起大早赶晚集"的苹果一个绝佳的时间窗口。
从硬件市场的表现也能印证这一趋势。今年以 AI 为核心卖点的消费类产品明显减少,经历了一轮市场教育后,消费者逐渐意识到:他们需要的不是零散的 AI 亮点功能,而是融入系统、无需刻意感知的统一 AI 体验。在这个关键节点,苹果的优势开始凸显——海量具备端侧 AI 能力的设备基础、成熟的开发者生态、以及对开发者友好的 AI 框架体系。如果能尽早完成 MCP 等应用层协议的适配,苹果有望在 AI 商业化落地阶段收获可观回报。
然而,挑战同样不容忽视。AI 集成度越高、用户体验越流畅,对数据安全和隐私保护的要求就越严苛。考虑到苹果需要与众多第三方模型厂商合作,如何在开放生态与隐私保护之间找到平衡,将是对其品牌承诺的重要考验。
AI 热潮虽未消退,但投资者和消费者都在回归理性。正如历史上每一次技术革命的轨迹,AI 终将褪去耀眼光环,悄然融入日常生活的每个角落,变得寻常却不可或缺。
欢迎 点赞 ♥️、 转发 👉
随着 iPadOS 26 引入类似 macOS 的窗口控制和菜单栏,开发者需要重新考虑应用的布局适配。Weichao Deng[7]探讨了新增的 Window Controls 和 Corner Adaptation Margins,以及如何在不同场景下采纳这些 API,让 iPad 应用更好地适配类桌面化的多窗口体验。文章涵盖了以下场景:
containerCornerOffsetAPI 的局限性分析)作者还提供了配套的 示例项目[8],方便开发者直观理解各种布局变化。
Letizia Granata[10]详细讲解了如何用 SwiftUI 的 onDrag和 onDrop实现拖放功能。文章重点解释了为什么 Swift 对象不能直接传递——它们必须通过 NSItemProvider 这个“安全盒子”打包,并转换为系统通用格式(如 JSON)。作者把 UTType 比作“数据护照”,形象地说明了它在数据传输中的作用,并展示了处理 Color 等不可直接编码类型以及利用 isTargeted提供视觉反馈的实用技巧。
在团队合作中,开发者常用 Tuist 来避免 Xcode 项目文件冲突。来自 Bright Inventions[12]的 Tomasz 和 Sebastian 在本文中介绍了如何在 Tuist 项目中集成 Firebase Crashlytics,并比较了两种依赖管理方式:Xcode SPM 集成与 Tuist 原生集成。作者认为,相比 SPM 的频繁重载和随机性问题,Tuist 原生集成(类似 CocoaPods 的工作空间方式)更稳定可靠,还能享受缓存、优化构建等额外优势。文章特别分享了一个调试经历:因将 -ObjC误写为 -Objc,导致 Objective-C 分类代码未被链接,崩溃报告虽生成却无法上传——这个细微的大小写错误在动态语言环境下不会导致崩溃,使问题更难发现。
近几年,苹果一直尝试统一 macOS 与 iOS 的设计语言,这个趋势在最新的版本中,通过 Liquid Glass 设计风格得到了最大展现。Rakhim Davletkali[14]用一种别出心裁的方式评论了 macOS 的演变——像《本杰明·巴顿奇事》(返老还童)一样倒序讲述。在他笔下,最新的 macOS 成了“Fisher-Price 玩具般”的初代系统,而真正的初代 Mac OS X Cheetah 反而是“尊重用户智慧”的成熟系统。这种逆向叙事巧妙地调侃了现代 macOS 在视觉设计幼稚化、生态封闭化等方面的争议趋势。无论你是否认同作者观点,这种创意写作手法本身就值得一读。
Sam Henri Gold[16]分享了他多年来测试 iOS 应用的实战清单。这份指南的核心理念是“成为混沌猴子[17]”——通过旋转、后台、快速点击、切换模式等各种“破坏性“操作来发现潜在问题。文中特别强调了几个容易被忽视的测试点:iPhone 横屏模式(”最容易发现 UI bug 的地方“)、iPhone SE 小屏适配、以及真实场景下的网络切换(如地铁进出隧道)等。作者还分享了一个有趣的 Twitter 拖放 bug 案例,以及为什么要在开启所有无障碍选项的情况下重新测试整个应用。
这不是一篇技术实现指南,而是一份基于实战经验的测试清单——正如作者所说:“每个被预防的崩溃都是避免了一个一星评价”。
在数百万应用的 App Store 中,让产品被发现与做好产品同样关键。Antoine van der Lee[19]分享了他为 RocketSim 优化 App Store 页面的一次实战,仅一周就让页面浏览量提升 108%。文章的核心理念是“扫描与钩子”:用户会快速扫过页面,每个元素(标题→副标题→截图)都必须能钩住用户继续深入。作者特别提醒:macOS 只显示第一张截图(iOS 显示前三张),因此顺序至关重要;分析数据时应关注日均值而非总量,并聚焦 App Store Browse 来源,才能更准确评估元数据优化的成效。
每天与 GitHub 打交道的开发者都知道,撰写 PR 文档时有许多重复性操作。Michael Liberatore[21]巧妙地利用 Apple Shortcuts 打造了一套自动化工具:批量调整截图尺寸、一键生成对比表格、快速添加折叠区域和彩色提示框。相比 GitHub 原生的 /table、/details等斜杠命令,这些快捷指令直接集成在右键菜单中,无需记忆语法,操作更加流畅自然。这个案例完美展示了 Apple Shortcuts 在专业开发工作流中的潜力——它远不只是个消费级自动化工具。
Manuel Chakravarty[23]开发的 ProjectNavigator 为 SwiftUI 文档型应用提供了类 Xcode 侧边栏的文件树导航体验。这个纯 SwiftUI 实现采用双层架构(Files 数据模型 + ProjectNavigator UI 层),充分利用了 Observation 框架和值类型设计。
核心特性包括:通过 UUID 持久化保存文件展开和选中状态;泛型协议支持在同一文件树中混合管理不同类型文件;与 NavigationSplitView 和 ReferenceFileDocument 无缝集成;支持内联重命名、上下文菜单、文件过滤等完整功能。项目包含完整的 DocC 文档和跨平台示例应用,需要 iOS 17+/macOS 14+。
如果你觉得这份周报或者我的文章对你有所帮助,欢迎 点赞、赞赏,并将其 转发给更多的朋友。
参考资料
[1]
weekly.fatbobman.com: https://weekly.fatbobman.com
[2]
肘子的 Swift 记事本: https://fatbobman.com
[3]
Discord: https://t.ly/gzxeh
[4]
报道: https://9to5mac.com/2025/09/22/macos-tahoe-26-1-beta-1-mcp-integration/
[5]
周报 #077: https://fatbobman.com/zh/weekly/issue-077/
[6]
iPadOS 26 窗口控制适配指南 (Adopting the New Window Controls in iPadOS 26): https://l.fatbobman.com/w0104-01
[7]
Weichao Deng: https://x.com/JuniperPhoton
[8]
示例项目: https://github.com/JuniperPhoton/CornerMarginSample
[9]
SwiftUI 拖放功能实现详解 (Implementing Drag and Drop with the SwiftUI Modifiers): https://l.fatbobman.com/w0104-02
[10]
Letizia Granata: https://www.linkedin.com/in/letizia-granata/
[11]
Tuist 项目集成 Firebase 实战 (Integrating Firebase into Tuist Project): https://l.fatbobman.com/w0104-03
[12]
Bright Inventions: https://x.com/BrightDevs
[13]
返老还童看 macOS (Benjamin Button Reviews macOS): https://l.fatbobman.com/w0104-04
[14]
Rakhim Davletkali: https://bsky.app/profile/rakhim.org
[15]
iOS 应用测试实战清单 (How I QA iOS Apps): https://l.fatbobman.com/w0104-05
[16]
Sam Henri Gold: https://x.com/samhenrigold
[17]
混沌猴子: https://en.wikipedia.org/wiki/Chaos_engineering
[18]
App Store 优化实战:让浏览量翻倍 (App Store Optimization: Real-world Best Practices): https://l.fatbobman.com/w0104-06
[19]
Antoine van der Lee: https://x.com/twannl
[20]
用 Shortcuts 优化 GitHub 工作流 (GitHub Markdown Shortcuts): https://l.fatbobman.com/w0104-07
[21]
Michael Liberatore: https://www.linkedin.com/in/michaelliberatore/
[22]
ProjectNavigator - SwiftUI 文件导航组件: https://l.fatbobman.com/w0104-08
[23]
Manuel Chakravarty: https://x.com/TacticalGrace