老司机 iOS 周报 #368 | 2026-04-13
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
🐕 Swift 6.3 Released
@Kyle-Ye: Swift 6.3 正式发布,带来了多项语言和工具链层面的重要更新。语言特性方面,新增 @c attribute 允许将 Swift 函数和枚举直接暴露给 C 代码并自动生成头文件,新增 :: 模块名选择器语法解决多模块同名 API 的歧义问题,同时为库作者提供了 @specialize、@inline(always)、@export(implementation) 等性能控制属性。构建工具方面,Swift Package Manager 预览集成了统一的 Swift Build 引擎,并新增预编译 Swift Syntax 支持和 swift package show-traits 命令。平台扩展方面,Embedded Swift 在 C 互操作和调试能力上有显著改进,同时本版本也是 Swift SDK for Android 的首个正式发布版本。此外 Swift Testing 新增了 warning 级别的 issue severity 和测试取消支持,DocC 也增加了 Markdown 输出和代码块标注等实验性功能。建议所有 Swift 开发者关注并评估升级。
新手推荐
🐎 Xcode 26.4 Simulator Paste Is Broken: Here's the Workaround
@Barney:这篇文章记录了 Xcode 26.4 的一个很影响调试体验的回归问题:Mac 到 iOS Simulator 的剪贴板同步失效,Cmd + V 没反应,长按输入框也看不到 Paste。作者尝试了重启 Simulator、切换 Automatically Sync Pasteboard、killall pboard 和重置权限等常见手段都无效,最后给出一个可立即落地的 workaround:直接用 xcrun simctl pbcopy booted 把宿主机剪贴板内容写入当前启动中的模拟器。文末还补了一个更顺手的版本 pbpaste | xcrun simctl pbcopy booted,基本可以当作临时替代方案。适合最近升级到 Xcode 26.4、正好被这个问题卡住的同学收藏。
文章
🐕 Tracking token usage in Foundation Models
@Cooper Chen:这篇文章介绍了如何在 Apple Foundation Models 框架中追踪 token 使用情况,并将其作为优化大模型应用的关键指标。作者通过示例展示了如何统计指令、prompt 和完整对话的 token 消耗,并结合上下文窗口评估占用比例,判断是否接近限制。文章还总结了多种优化方法,如精简 prompt、减少冗余内容和拆分长对话,以提升性能和降低成本。同时提供可视化工具帮助开发者直观分析 token 分布。整体而言,这篇文章强调了以 token 为核心的工程优化思路,对构建高效 LLM 应用具有实用价值。
🐕 Beta Preview: ComposableArchitecture 2.0
@AidenRao:Point-Free 在这篇 Beta Preview 里预告了 Composable Architecture 2.0(Composable Architecture 是 Point ‑ Free 团队开源的一套 Swift 应用架构 / 框架,用来“以一致且可理解的方式”组织业务逻辑,并把 组合(composition) 和 可测试性(testing) 当作一等公民。它既可以用于 SwiftUI,也能用于 UIKit 等场景。):这是一次从底层模型到日常写法都“重新推倒重来”的大版本更新。它把 API 词汇刻意对齐 SwiftUI(例如 onChange、preferences、生命周期回调等),让你用熟悉的视图心智模型去写业务逻辑:View 负责“渲染什么”,而新的 Feature 负责“要做什么”。
🐕 Xcode Build Optimization using 6 Agent Skills
@阿权:作者介绍了自己的一套 AI Agent Skill,可以自动分析并优化 Xcode 项目的编译速度。原理是同城修改 Xcode 项目配置来优化编译流程。处理了影响编译速度的几个因素:代码复杂度、build phases、Swift Package 依赖、增量构建等(具体分析过程可参考 Build performance analysis for speeding up Xcode builds)。这套 skill 工作流程如下:
- Orchestrator skill(重点关注)优化编译流水线,分析项目目录,为后续 skill 做好准备。
- Benchmark skill 执行 3 次干净构建和增量构建,构建信息存到本地 JSON,供后续继续分析。
- 分析阶段,Compilation Analyzer、Project Analyzer、SPM Analyzer 3 个 skill 做具体的分析,检查 Build Settings、Project Configuration、源码和依赖。
- 展示优化改进计划。
- 人工 review 并应用优化选项。
- Build Fixer skill 应用优化计划。
- 再次 benchmark 并展示最终优化结果。
文章提供了 AI Agent 提升 iOS 研效的另一种思路,希望对你有所启发。
🐎 Why Your @Observable Class init() Runs Multiple Times in SwiftUI
@DylanYang:本文作者主要讲解了 SwiftUI 中被 @observable 修饰的类初始化方法多次执行的问题,核心原因是使用 @State 存储 ViewModel 时,会随 View 频繁重建重复执行初始化逻辑,搭配 NavigationStack 导航场景会进一步加剧该问题。作者同时给出了.task 延迟赋值、将 ViewModel 托管至上层视图等解决方案,并提醒开发者不要在 init 中编写耗时操作与副作用逻辑。
内推
重新开始更新「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)



