阅读视图
记录我适配iOS26遇到的一些问题
正确的 .gitignore 配置
【Swift 筑基记】把“结构体”与“类”掰开揉碎——从值类型与引用类型说起
Swift 字符串与字符完全导读(三):比较、正则、性能与跨平台实战
Swift 字符串与字符完全导读(二):Unicode 视图、索引系统与内存陷阱
Swift 字符串与字符完全导读(一):从字面量到 Unicode 的实战之旅
你的错误处理一团糟-是时候修复它了-🛠️
《Flutter全栈开发实战指南:从零到高级》- 04 - Widget核心概念与生命周期
去 Apple Store 修手机 | 肘子的 Swift 周报 #0107
理解 MCP -读《这就是 MCP》

一、序言
最近读完了一本讲解 MCP 实现原理的书:《这就是 MCP》,它帮助我更好地理解了 MCP,以下是一些笔记。
二、什么是 MCP
MCP 的全称是 Model Context Protocol,之所以叫这个名字,是因为它可以成为大模型调用外部工具的协议,让大模型能够补充自己的上下文(即 Context)。
在没有 MCP 之前,每个大模型都在为自己扩展调用外部工具的能力,最常见的能力就是调用搜索引擎。但是这就会造成一个麻烦:每个大模型都需要自己开发一遍调用工具(重复造轮子),而且由于协议不开放,第三方开发者无法为大模型提供更多工具。
在有了 MCP 之后,整个开发流程变成了:
- 大模型都适配 MCP 协议
- 各种工具都适配 MCP 协议
这样,一个新的工具出来,立刻可以为所有大模型可用,而一个新的大模型也可以立刻调用市面上公开的 MCP(下图)。

有人把这个比作 “AI 时代的 HTTP 协议”,我是比较认同的。
三、MCP 的实现细节
3.1 角色
不同于 HTTP协议的浏览器 / 服务器(B/S)架构,MCP 的协议多了一个 “主机” 的角色,一共包含三个角色,分别是:主机,客户端,服务器。
主机:创建和管理多个客户端。负责鉴权相关工作。负责多个客户端内容的聚合,
客户端:一个客户端是一个进程,负责与对应的 MCP 服务器交互数据,管理会话的状态。
服务器:为客户端提供服务。可以部署成本地服务或远程服务。
3.2 协议
MCP 使用 JSON-RPC 作为客户端与服务器通信的基础。
当服务器部署在本地的时候,它允许客户端用 stdio 的方式来传输 JSON 编码的数据。
当服务器部署在远程的时候,它使用 HTTP 来传输 JSON。
鉴权方面, 基于 stdio 传输实现的服务器直接从环境变量中读取授权凭证,而基于 HTTP 协议的服务器,基于 OAuth 2.1 实现授权。
四、如何开发 MCP
开发 SDK:MCP 支持任意语言开发 MCP 服务器,我们可以使用官方提供的 SDK 快速生成代码框架。
调试工具:官方提供的调试工具名为 MCP Inspector,用它连接对应 MCP 之后就可以在面板中调试功能。
发布 MCP:我们可以把开发好的服务发布到 MCP 市场上面供开发者检索到。
MCP 市场。市面上比较有名的市场包括:
- Anthropic 官方的 MCP Servers 仓库
- Smithery
- Glama
五、MCP 的问题
MCP 发布才一年时间,所以还有很多细节未来需要完善,包括:
- 协议对多模态内容支持不够友好
- 鉴权机制不完善,很多 MCP 服务还未支持 25 年 3 月引入的 OAuth 鉴权协议
- 安全防护能力弱。攻击者可以构造恶意的 MCP 服务来诱导用户执行恶意命令,从而实现信息窃取,执行恶意命令等攻击。
以上。
深入解析 iOS 与 macOS 应用程序生命周期(完整指南)
去 Apple Store 修手机 - 肘子的 Swift 周报 #107
父亲的 iPhone 16 突然无法充电。预约后,我前往 Apple Store 送修。工作人员确认问题后,为我提供了一部 iPhone 14 作为备用机,并协助完成数据转移。十二天后(期间正好赶上一个长假),设备维修完成——更换了 Type-C 接口,同时还免费更换了一块新电池。体验一如既往地令人满意。
iOS/Swift:深入理解iOS CoreText API
老司机 iOS 周报 #355 | 2025-10-20
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 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
- evaluator 决策,executor 执行
- 循环驱动任务直至完成
这是一种无需复杂框架即可落地的智能代理构建方式,非常适合开发者快速启动个人或团队级 Agent 流程。
🐕 Understanding Live Activities: visual micro-storytelling
@AidenRao:这篇文章是关于 iOS 16 引入的 Live Activities(实时活动)功能的设计指南。
-
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)