老司机 iOS 周报 #376 | 2026-08-03

Wait 5 sec.

老司机 iOS 周报,只为你呈现有价值的信息。你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。文章🐕 Splitting Large SwiftUI Views in the Apple's way@AidenRao:在 SwiftUI 中,将冗长的 body 拆成计算属性或 @ViewBuilder 虽然能改善代码可读性,却不会形成新的更新边界;父视图的状态发生变化时,这些内容依然会跟随 body 一起重新求值。作者结合 Walk Mate 的实际重构与 Apple 最新的视图结构建议,指出更有效的做法是把职责明确、依赖相对独立的区域提取为单独的 View 结构体,并只传入其真正需要的数据。这样 SwiftUI 就能比较子视图的输入,在数据没有变化时跳过不必要的 body 计算。🐕 The Anatomy of a Reusable SwiftUI View@阿权:文章讨论了如何设计 API 接近 Apple 原生视图的自定义可复用 SwiftUI 组件。设计思路主要分为:组件分类:语义组件(Semantic)、规定性组件(Prescriptive)。设计原则:先建模语义,遵循数据流,保留原生行为,保持可预测。具体的 API 设计,扩展 API 设计。最后作者给出了一份最佳实践清单:判断组件是语义型还是规定型先建模有效状态和有意限制,再考虑外观从灵活的基础初始化器开始,添加聚焦的便捷初始化器匹配系统视图的命名和参数类型遵循 SwiftUI 数据流和交互约定优先使用宽泛的系统抽象(View、ShapeStyle、LocalizedStringResource)语义组件用自定义视图样式,规定性组件用环境值将无障碍和相关环境值视为组件的一部分保持优先级和扩展点可预测在有意义的状态下预览和测试组件🐕 Previews and MCP@Cooper Chen:作者分享了在 Xcode 27 beta 中利用 MCP 调用 RenderPreview 工具的探索,详细梳理了从建立连接、发送 JSON-RPC 请求到接收预览截图的技术链路。文章并未回避现实障碍——沙盒限制让直接调用 xcrun mcpbridge 无法上架 Mac App Store,而借助 XPC 服务、外部托管助手应用等变通方案则伴随着复杂的管理成本。尽管如此,作者仍满怀热情地预告了即将推出的 PreviewSmith,为开发者提供直观的预览浏览体验。全文既有底层接口的深入剖析,也有对工程化挑战的坦诚记录,技术干货与个人色彩兼备,值得关注 SwiftUI 预览生态的开发者一读。工具xntfs 和 xlinuxfs:让 macOS 更自然地读写跨平台磁盘@EyreFree:两款 macOS 工具 xntfs 与 xlinuxfs,依托系统原生 FSKit 框架实现跨平台磁盘读写,无需依赖 macFUSE 与内核扩展。xntfs 结合 ntfs-3g,让系统自动挂载并正常读写 NTFS 格式磁盘,补齐 macOS 原生短板。xlinuxfs 基于 LKL 方案,直接调用 Linux 原生驱动,支持 ext4、XFS、Btrfs 等主流 Linux 文件系统。两款工具定位轻量化,仅负责磁盘挂载与读写,附带状态诊断、权限设置等基础功能。接入后外部磁盘可被系统原生识别,在 Finder 中正常使用,有效消除跨系统存储设备的使用割裂感,适配开发、运维等多类使用场景。应用商店链接:xntfs:https://apps.apple.com/cn/app/xntfs/id6782636021xlinuxfs:https://apps.apple.com/cn/app/xlinuxfs/id6785355678内推重新开始更新「iOS 靠谱内推专题」,整理了最近明确在招人的岗位,供大家参考具体信息请移步:https://www.yuque.com/iosalliance/article/bhutav 进行查看(如有招聘需求请联系 iTDriverr)关注我们我们是「老司机技术周报」,一个持续追求精品 iOS 内容的技术公众号,欢迎关注。关注有礼,关注【老司机技术周报】,回复「2024」,领取 2024 及往年内参同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。说明🚧 表示需某工具,🌟 表示编辑推荐预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)