老司机 iOS 周报 #355 | 2025-10-20 #5179
ChengzhiHuang
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
文章
🐎 使用 @_private(sourceFile:) 测试 Swift 私有成员
@阿权:私有成员一直是单元测试的难题,以往的做法要么公开其成员,要么封装供测试的接口,本文提出可以用
@_private(sourceFile:)测试私有成员。该标识是非公开 API,是编译器专用的接口,可绕过访问控制。不过前提需要为目标模块添加编译标志-enable-private-imports,允许其私有成员被外部测试访问,并需用条件编译宏包裹,以防后续编译器更新导致 API 不可用。通过这种方式,可以在完全不修改原有接口的前提下自由地编写单元测试代码。
Building 17 Agentic AI Patterns and Their Role in Large-Scale AI Systems
@EyreFree:本文聚焦大规模 AI 系统构建,提出 17 种智能体架构及应用场景,含多智能体系统、集成决策、思维树(ToT)等。以 LangChain、LangGraph、LangSmith 为工具栈,详细解析各架构实现流程,如反思架构通过生成 - 批判 - 优化提升输出质量,ReAct 架构借 “思考 - 行动 - 观察” 循环解决多步骤问题,PEV 架构增验证环节应对工具失效。还介绍组合架构思路,强调不同架构协同可实现复杂任务,且附 GitHub 代码库供实践,为大规模 AI 系统开发提供全面参考,在做 AI 相关开发的同学可以看看。
🐎 iOS 26 你的 property 崩了吗?
@Kyle-Ye: iOS 26 Runtime 在
objc_storeStrong实现中引入了哨兵值机制(0x400000000000bad0),主动暴露 nonatomic 属性的并发访问问题。新实现在写入新值之前,会先向属性地址写入哨兵值,创建一个"危险窗口"。任何在此窗口期间的并发读写操作都会必然触发 EXC_BAD_ACCESS 崩溃,而不再依赖于对象引用计数等不确定因素。文章详细剖析了写写并发(objc_release 崩溃)和读写并发(objc_retain 崩溃)两种典型场景,并介绍了快手自研的 Ekko 安全气垫框架如何通过兜底 Mach 异常来进行崩溃止损。对于维护线上 App 稳定性的开发者来说,这个系统级变更影响全量版本,建议重点关注 nonatomic 属性的线程安全问题,必要时改用 atomic 或添加额外的安全气垫机制进行兜底。🐕 Build Your First 24/7 Agentic Loop
@Cooper Chen:如果你想了解“ AI Agent 是否能真正实现持续自主执行任务”,WeZZard 的文章与配套项目是极具价值的入门参考。
该文章提出了一个极简且可工程化复用的方法论:
Contract(合同)+ Loop(循环)+ Runtime(运行时)。借助高阶模型(如 Claude 4 或未来的 GPT-5),通过结构化 JSON 协议与工具调用,系统即可在评估者(Evaluator)与执行者(Executor)之间持续推进任务,实现 24/7 agentic 工作流。
配套开源仓库 《agentic-loop-playground》实现了一个完整示例:
TODO/FIXME这是一种无需复杂框架即可落地的智能代理构建方式,非常适合开发者快速启动个人或团队级 Agent 流程。
🐕 Understanding Live Activities: visual micro-storytelling
@AidenRao:这篇文章是关于 iOS 16 引入的 Live Activities(实时活动)功能的设计指南。
Live Activities 的核心是帮助用户快速获取关键动态信息,减少频繁打开应用的需要。设计时应以用户需求为中心,避免滥用。
🐎 iOS 17 + SwiftUI TextField 内存泄漏分析
@DylanYang:iOS 17 引入的 AutoFillUI 框架使得在使用 UITextField 时会发生不预期的内存泄漏,当 UITextField 成为第一响应者且用户离开视图时就会发生。由于在 SwfitUI 中 TextField 可以通过 .environmentObject() 保持对大型对象图的引用,因此在 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)
This discussion was created from the release 老司机 iOS 周报 #355 | 2025-10-20.
Beta Was this translation helpful? Give feedback.
All reactions