老司机 iOS 周报 #372 | 2026-06-08
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
🐢 从 0 开发大模型的 17 种 Agent 架构演进详细拆解
@david-clang:作者用 agno[1] 框架把 all-agentic-architectures[2] 里用 LangChain[3] + LangGraph[4] 实现的 17 种 Agent Architecture 从头写了一遍,证明了 Agent Architecture 的本质不是 Prompt Engineering,也不是某个框架的 DSL,而是控制流设计,它应该能在任何体面的 Agent 框架里复现。作者对每一种架构都用同一套问题去拆解,并且全部用 agno 框架做抽象表达,这种拆解 Agent 架构的方法很值得借鉴。
🐢 抖音动态体验优化实践与思考
@ChengzhiHuang: 抖音 Android 基于业务的实际诉求,建立了新的动态性能框架,站在更高与更全局的视角,获取更完整的输入信号,结合千人千面(端智能),进行更具体的策略调用。Android 在系统能力上能做的比 iOS 会多很多,但是建设的思路都是相同的,建立硬件的 QoS 指标,再结合业务的具体场景,再作出变更,在资源受限下给用户带来更好的体验。
🐎 DebugSnapshots Public Beta[5]
@Smallfly:这篇是 PointFree 团队推出的全新调试工具 DebugSnapshots 的公开测试介绍,该工具可以序列化存储应用运行时的全链路状态快照,包含视图层级、网络请求、用户交互轨迹、状态变更记录等信息,帮助开发者快速复现线上、测试环境的偶现疑难问题。工具支持与 SwiftUI、UIKit 项目无缝集成,无需大量侵入式代码修改,还可配合 PointFree 生态的状态管理、并发工具使用,有效降低复杂客户端应用的问题排查成本,适合苹果生态开发者了解前沿调试方案,优化问题处理效率。
🐕 Harness 不是目的,知识才是护城河 —— 一个 AI 工程交付团队的知识沉淀实践
@DylanYang:本文作者基于 AI 工程团队的落地实践,提出了与当前 Harness Engineering 热潮不同的核心观点:工作流只是管道,团队私域知识的沉淀才是真正的技术护城河。文章系统阐述了 Harness Engineering 的三支柱理论,论证了知识沉淀的三大核心价值(可累积性、非一次性、复利效应),并详细介绍了团队设计的知识体系架构。同时分享了独立 Git 仓库作为知识单一事实来源的建设方案和消费模式。感兴趣的开发同学可以阅读下具体内容。
🐕 Task Names in Swift Concurrency[6]
@AidenRao:在排查并发问题时,我们早已习惯了 GCD Queue Label 带来的便利:崩溃日志、Instruments 时间线、调试器输出中都能快速定位任务来源。然而 Swift Concurrency 自诞生以来,Task 一直缺少类似的可读标识。随着 Swift 6.2 中 SE-0469 的落地,开发者终于可以为 Task 指定名称(Task Name)了。本文详细介绍了 Task Name 的使用方式,以及它在 LLDB、Instruments 和 SwiftUI .task 中的实际表现效果。虽然只是一个看似不起眼的小特性,却能显著提升复杂并发场景下的问题定位效率。如果你的项目已经大量使用 async/await、TaskGroup 或 SwiftUI Concurrency,那么了解并合理使用 Task Name,将会是提升调试体验的一个低成本优化。
工具
🐕 harness-creator[7]
@Barney:这是 Learn Harness Engineering 项目里提供的一个可复用 Skill,用来为 AI Coding Agent 快速搭建或审计项目级 Harness。它关注的不是模型选择或单次 Prompt,而是把 Agent 工作所依赖的环境补齐:根目录指令文件(AGENTS.md / CLAUDE.md)、任务状态、验证命令、作用域边界和会话交接。实际使用上,可以通过 create-harness.mjs 生成 feature_list.json、progress.md、init.sh 等基础文件,也可以用 validate-harness.mjs 按五个子系统给现有项目打分。比较有价值的一点是,它把“让 Agent 更可靠”从经验口号落到了可检查、可迭代的仓库结构上,适合正在把 AI 编程流程沉淀成团队规范的同学参考。
代码
🐕 让 SwiftUI View 在截图中隐藏[8]
@阿权:作者实现一种方案,可以让特定 SwiftUI View 在截图中隐藏。Apple 公开和推荐的方案是在截图时将 view 替换而不是简单的隐藏,能有隐藏能力的只有 Secure Text Field,而它的本质调用是配置 CALayer 的私有属性 disableUpdateMask 为 0x12。作者通过实现 SwiftUI modifier 将这个调用带到了 SwfitUI,实现了为特定 SwiftUI View 实现截图隐藏的能力。
需注意的是,这个能力仍要按依赖 SPI 的能力来看待。这个方案比较有趣的是如何找到 Secure Text Field 实现截图隐藏的根本调用,以及如何将能力桥接到 SwiftUI 上。
内推
重新开始更新「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)
agno: https://github.com/agno-agi/agno
[2]all-agentic-architectures: https://github.com/FareedKhan-dev/all-agentic-architectures
[3]LangChain: https://github.com/langchain-ai/langchain
[4]LangGraph: https://github.com/langchain-ai/langgraph
[5]DebugSnapshots Public Beta: https://www.pointfree.co/blog/posts/207-debugsnapshots-public-beta
[6]Task Names in Swift Concurrency: https://artemnovichkov.com/blog/task-names-in-swift-concurrency
[7]harness-creator: https://github.com/walkinglabs/learn-harness-engineering/tree/main/skills/harness-creator
[8]让 SwiftUI View 在截图中隐藏: https://kyleye.top/posts/swiftui-hidden-from-capture/
夜雨聆风