老司机 iOS 周报 #381 | 2026-10-12

Wait 5 sec.

老司机 iOS 周报,只为你呈现有价值的信息。你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。文章🐢 When Intuition Lies:Lessons from a CSV ParserPart 1:The 20-Second Trap|Part 2:Correct, Then Fast|Part 3:The 9%@AidenRao:这组三篇文章以 Swift 解析一份 260 MB、561 万行的 GTFS CSV 文件为主线,完整复盘了一次由测量驱动的性能优化过程。第一篇逐层拆解文件读取、字段切分与对象创建,发现 I/O 只占约 1%,真正让朴素实现耗时 11 秒、占用 782 MB 内存的,是 components(separatedBy:) 带来的海量字符串分配;作者还通过 Release 构建、预热与交叉执行顺序排除基准测试中的干扰。第二篇将正确性置于性能之前,利用精心构造的输入暴露引号状态机的缺陷,补齐字段首引号、双引号转义和跨缓冲区边界等规则,再借助 mmap、memchr 与快速路径把索引阶段压缩到约 65 ms。第三篇重新审视完整流水线,发现投入最多精力优化的索引只占总耗时的 8%,字段转换反而占到 57%,而 Swift 的小字符串优化也让“避免字符串分配一定更快”的直觉再次落空。系列的价值不只在于实现一个高性能 CSV 解析器,更在于展示如何拆分性能问题、设计能够证伪假设的实验,并依据数据而非经验决定优化方向。🐢 The EU Tracking Prompt in iOS 27.2: What to Ship@Damien:iOS 27.2 起,欧盟地区的应用可以使用 Apple 新增的备选版 App Tracking Transparency 弹窗,法国、德国、意大利、波兰、罗马尼亚则只能显示这种整页弹窗。新弹窗通过 requestTrackingAuthorization(usingExpandedInterface:additionalInformationAction:completionHandler:) 调用,可用 NSUserTrackingMarkdownUsageDescription 配置富文本说明,原有的 NSUserTrackingUsageDescription 仍须保留。弹窗上的「Additional Information」按钮不会记录用户选择,回调返回 notDetermined,需要在展示自己的隐私说明后重新请求。欧盟用户在上次选择满一年后可以再次被询问,何时必须询问的规则则保持不变。文章还给出了用 #if os(iOS) 与 #available 兼容新旧接口的写法和测试清单,并提醒整页弹窗要用欧盟地区账号的真机验证。结论基于 beta SDK,正式版发布后需要复验。🐕 How to reduce token usage in Claude Code, Codex, and Cursor@Cooper Chen:这篇文章基于对 1,674 次真实智能体会话的分析,揭示了一个反直觉的真相:减少 token 消耗的关键在于控制智能体“读”什么,而非它“写”什么。作者发现 94.2% 的 token 消耗来自缓存读取,即智能体反复重读相同上下文,而输出 token 仅占 0.6%。基于这一发现,文章提出了多项可立即落地的优化策略:精简 AGENTS.md 文件、将范围性知识拆分为子目录文档、使用 xcsift 工具过滤 Xcode 构建输出(原始输出约 18,200 token,过滤后仅 32 token)、清理重复安装的 Agent Skills。这些策略的共同逻辑是“守卫上下文”,让智能体只读它真正需要的内容。文章以数据驱动、工具中立、操作性强为特色,适合每一位使用 Claude Code、Codex 或 Cursor 的开发者阅读。🐕 Early Design Explorations for iPhone Duo Layouts@JonyFang:一篇适配笔记。Jordan Morgan 把自己的 Elite Hoops 放进 iPhone Duo 模拟器,记录了闭合、展开、旋转和折叠时的界面调整。展开态是文章的重点:他用 ArrangementView 把笔记和附件放到主内容旁边,也为画板工具留出更多空间;闭合态则要考虑工具栏项目溢出时,哪些操作应该始终可见。文章还提到了适配前值得检查的旧代码,比如按设备类型判断布局、依赖 UIScreen.main、只支持竖屏。作者目前只在模拟器中尝试,ArrangementView 该用到哪些页面也还在摸索。这是一篇围绕具体 App 展开的早期设计记录。🐕 Prepare Your App for iPhone Duo: A Worked Example@david-clang:文章以卡牌收藏 App Kiradex 为例,把 iPhone Duo 的适配、测试和发布串成了一次完整的工程实践。作者按 Apple 给出的四项检查,遍历了外屏、内屏、闭合、半折叠、旋转等场景,将测试发现分为系统自动提供的能力、仍需修复的问题,以及模拟器无法验证的部分。例如,Sheet 被 vertical bar 挤压内容空间时,可通弹出时暂时禁用 vertical bar 改善布局。模拟器则无法验证相机扫描,以及内外屏切换时拍摄会话能否正常持续。作者还把适配工作整理成 Agent 能执行、开发者能复核的任务。例如使用 Apple 的 App Resizability skill 去静态审查代码、整理 UI 测试的范围、巡检过程自动化。文章里自动化测试的一些小技巧很值得借鉴,比如通过 macOS Accessibility API 去驱动模拟器切内屏、外屏、半折叠,解决 Apple 没提供命令行驱动的问题。🐕 iPhone Duo: First Developer Good-to-Knows@极速男孩:文章介绍折叠屏 iPhone Duo 的开发适配:根据可用空间而非设备型号布局,保持内外屏功能与导航一致;优先使用系统导航和工具栏,分别处理各边安全区,让重要控件避开折痕;测试折叠、旋转、分屏及多窗口场景。相机应用还需考虑双屏预览和镜头切换。内推重新开始更新「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)