# 老司机 iOS 周报 #361 | 2025-12-29

Wait 5 sec.

老司机 iOS 周报,只为你呈现有价值的信息。你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。文章🐕 Exploring interactive snippet intents@BluesJiang: 这篇文章主要探索了一下 App Intent 框架。苹果在 WWDC25 上引入了 App Intent 的可交能力,在 Widget、App Shortcut、Intent 中都可以使用。作者探索了这个 App Intent 的交互框架和编码逻辑,旨在了解这个交互框架可以做什么,不可以做什么,交互分范式是什么样的。这个框架使用 SwiftUI 编码,但是交互逻辑与方式则有很大的不同,在 App Intent 框架下,不存在传统生命式框架下的状态和交互变化,甚至按钮的触发事件也不是直接的,而是间接通过注册的 Intent 来完成响应。如果有需要在 App 外做即时响应的功能,可以考虑研究一下。🐎 使用 "git mv" 命令记录 Git 中文件名的大小写更改@含笑饮砒霜:这篇文章主要介绍了在 macOS 和 Windows 默认的大小写不敏感但保留大小写的文件系统中,直接修改文件名大小写时 Git 不会记录该名称变更,可能导致文件系统与 Git 存储的文件名不一致,进而引发后续使用(如跨大小写敏感文件系统、CI 打包)的问题,同时给出解决方案:使用 git mv 命令记录文件名大小写变更,若不便使用该命令,可通过 “先重命名为临时名称、再改为目标名称” 的两阶段提交方式实现同样效果。🐎 Swift Configuration 1.0 released@AidenRao:Swift Configuration 1.0 的正式发布。该项目旨在为 Swift 应用提供一套统一的配置管理方案,帮助开发者优雅地处理来自环境变量、配置文件乃至远程服务的各类配置项。通过它,我们可以告别过去分散繁琐的配置逻辑,以更清晰、安全和可维护的方式构建应用。🐎 Using associated domains alternate mode during development@DylanYang:作者向我们介绍了如何在调试 AASA(apple-app-site-association) 相关能力时,通过开发者模式使域名相关的改动可以即时的被同步到。开发者模式需要我们在对应域名上加上特定后缀,并且只对开发模式的签名文件生效。有调试相关能力需求的开发者可以参考一下。🐢 Command Line Interface Guidelines@zhangferry:这篇文章是一份开源的《命令行界面(CLI)设计指南》,核心目标是结合传统 UNIX 原则与现代需求,帮助开发者打造更易用、更友好的 CLI 程序。虽然现在 GUI 非常普及,但 CLI 以其灵活、稳定、跨平台的优势在很多场景(例如 DevOps)都在放光发热。所以了解如何更好的设计 CLI 仍有必要,以下是从文章内挑选的几条重要设计指南:基础规范:使用对应语言的命令行参数解析库,Swift 下是 swift-argument-parser;成功时返回 0,失败返回非 0;核心输出到 stdout(支持管道传递),日志,错误信息输出到 stderr(避免干扰管道)帮助和文档:默认运行无参数时显示简洁的帮助,-h/--help 对应完整的帮助说明。输出设计:人类可读最重要,如果为了人类可读破坏了机器可读,可以增加 --plain 参数输出机器可读内容,这有利于 grep、awk 工具的集成错误处理:避免冗余输出,核心错误应该放在末尾参数和标志:优先使用 flags,而不是依赖位置读参数;所有 flags 都提供短格式和长格式两种(-h/--help);危险操作增加一个保护措施:输入名称、--force 标志等健壮性与兼容性:及时响应用户的输入(100ms 以内),如果流程耗时增加进度反馈(进度条)环境变量:避免占用 POSIX 标准变量;本地用 .env 管理但不应把 .env 当做配置文件;不要使用环境变量存储密钥等重要信息,这样很容易泄漏,推荐通过文件或密钥管理服务🐕 SwiftUI Group Still(?) Considered Harmful@Damien:本文指出 SwiftUI 的 Group 会把修饰符“分发”给每个子视图,曾让 onAppear 被多次触发。onAppear/task 虽被苹果特殊处理,但文档未改,且自定义修饰符与在 List 内仍照分发。解决方案为:除非必须一次性给兄弟视图统一加修饰符,否则别用 Group,直接重复代码或拆视图更稳妥。代码🐢 SwiftAgents@阿权:SwiftAgents 为 Swift 开发者提供了一套现代化、类型安全、并发友好的 AI Agent 开发框架,兼具强大的功能与优雅的 API 设计,适合在苹果全平台及 Linux 上构建下一代智能应用。实现能力:Agent 框架:支持 ReAct、PlanAndExecute、ToolCalling 等多种推理模式灵活内存系统:包含对话内存、滑动窗口、摘要记忆及可插拔持久化后端类型安全工具:通过 @Tool、@Parameter 宏大幅减少样板代码多代理编排:支持监督者-工作者模式、并行执行与智能路由全平台支持:兼容 iOS 17+、macOS 14+、Linux(Ubuntu 22.04+)强并发安全:基于 Swift 6.2 的 Actor 隔离与 Sendable 类型可观测性与弹性:内置日志追踪、指标收集、重试策略与熔断器适用场景:对话式 AI 助手自动化任务执行与决策流程多 Agent 协同分析系统需要持久化记忆与工具调用的复杂应用🐕 XcodeBuildMCP 1.15.0 released@Cooper Chen:XcodeBuildMCP 是一个基于 Model Context Protocol(MCP)的开源工具,将 Xcode 的构建、运行与模拟器能力以标准化接口暴露给 AI Agent,使其能够真正参与 iOS / macOS 的开发流程。开发者只需在首次调用时设置好 project、simulator 和 scheme,之后的每一次调用都可以直接复用配置,“一次设定,次次生效”。这一设计显著降低了上下文和参数负担:上下文占用减少 24.5%(smaller context footprint)每次调用所需参数更少(fewer params per call)对于依赖 AI 自动编译、跑测试、定位问题的场景而言,这意味着更低的 Token 消耗、更稳定的 Agent 行为,以及更高效的工具调用体验。XcodeBuildMCP 是连接 Xcode 与 AI 工作流的关键基础设施,尤其适合构建长期、可持续的智能开发系统。音视频🐕 CS193 Stanford 2025@极速男孩:这是是斯坦福大学计算机科学系著名的公开课程 CS193p: Developing Applications for iOS(iOS 应用程序开发)。主要涵盖最新的 iOS SDK 特性。根据网站最新信息(Spring 2025 版本),内容包括 Xcode 的使用、SwiftUI 的视图与修饰符、Swift 类型系统、动画、数据持久化(SwiftData)以及多线程等。内推重新开始更新「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)