# 老司机 iOS 周报 #366 | 2026-03-16

![ios-weekly](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/weekly-header/366.png?raw=true)
老司机 iOS 周报，只为你呈现有价值的信息。

你也可以为这个项目出一份力，如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们，我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。

## 新闻

### [对中国 App Store 的 iOS 及 iPadOS 的调整](https://developer.apple.com/cn/news/?id=dadukodv)

26 年 3 月 15 日（消费者权益保护日）起，大陆 iAP 的抽成从 30% -> 25%，小开发者与小程序的抽成从 15% -> 12% 。抽成降低是大势所趋，毕竟其他地区还允许侧载等。同时 Google Play 商店的抽成也将从 30% -> 20% 。

### [LET'S VISION 26 大会](https://www.huodongxing.com/go/letsvision26?coupon=Aawf0SP)

今年的 LET'S VISION 大会将在 3 月 28～29 日在上海漕河泾举办，会有大量嘉宾莅临，对详情感兴趣可以查看推送次条，通过链接购买有优惠券提供。我们也将在评论区抽出 5 张展览票（22 日开奖）。

## 文章

### [一文读懂 Agent Tools，拒绝复杂化、碎片化、黑盒化](https://mp.weixin.qq.com/s/rsu-k8NwzWceOfPxTRKkBA)

[@EyreFree](https://github.com/EyreFree)：文章先从类型安全、LLM 友好接口、自我修复、人工介入、性能优化五大维度，讲解高可用 Agent Tools 的设计要点与方法；针对企业落地中工具碎片化、复杂化、黑盒化痛点，演示了依赖火山引擎 AgentKit 解决这类问题的方式，其 Gateway 可高效将存量 API 转为 MCP 工具，搭配企业级 Skills 管理与零信任鉴权体系，实现工具的高效治理与安全调用；还结合零售、金融科技行业实战案例。正在开发这类业务的同学可以参考。

### 🐎 [Designing Swift Errors for an SDK](https://nonstrict.eu/blog/2026/designing-swift-errors-for-an-sdk/) 
[@Smallfly](https://github.com/iostalks)：这篇文章把 SDK 错误设计讲得很实用，提出用 `struct + Code enum` 组合来同时保证「错误码稳定」与「错误信息可读」。文中覆盖 `LocalizedError`、`CustomNSError`、模式匹配 `catch` 和上下文 `userInfo` 的完整实践，既方便客户端做分支处理，也方便监控系统长期追踪。对团队来说，这是一套很适合沉淀为工程规范的错误治理方案。

### 🐎 [Reverse Masking in SwiftUI Using Blend Modes](https://livsycode.com/swiftui/reverse-masking-in-swiftui-using-blend-modes/)

[@Kyle-Ye](https://github.com/Kyle-Ye): 文章介绍了在 SwiftUI 中实现反向遮罩的技巧——从视图中"挖出"形状以露出底层内容。核心方案是利用 `.destinationOut` blend mode 配合 `.compositingGroup()` 修饰符，将遮罩形状覆盖的区域从目标视图中擦除。文章封装了一个简洁的 `reversedMask` View 扩展，无需借助 Core Graphics 即可实现诸如毛玻璃镂空、网格卡片符号裁切等富有层次感的 UI 效果。对 SwiftUI 自定义视觉效果感兴趣的开发者值得一读。

### 🐎 [vPhone 虚拟 iOS 环境解析与风控防御实践](https://bbs.kanxue.com/thread-290127.htm)

[@Damien](https://github.com/ZengyiMa): 研究员 wh1te4ever 利用苹果私有 Virtualization.framework 和 PCC 固件中的隐藏组件，在 Apple Silicon Mac 上实现了拥有 root 权限的 iOS 26 虚拟机（vphone）。与传统越狱不同，vphone 没有 Cydia 等文件特征，能透明绕过传统风控检测，且支持批量克隆和快照回滚，对黑产构成规模化威胁。为应对此挑战，作者提出 CloudPhoneRiskKit 3.0 四层防御体系，通过硬件指纹识别、多路径一致性校验、IMU 传感器行为熵分析和服务端动态策略进行纵深防御。该体系的核心思想是不追求单一"不可绕过"的检测，而是让攻击者的 patch 行为本身成为最强的风险信号，构建"绕过成本大于收益"的防御机制。

### 🐎 [Apple 的 ANE 被挖掘，AI 硬件公开，宣传的 38 TOPS 居然是个"数字游戏"？](https://mp.weixin.qq.com/s/_4cnIi1QnR31zwowxvhP8Q)

[@david-clang](https://github.com/david-clang)：[maderix/ANE](https://github.com/maderix/ANE) 通过逆向私有 API，绕过 CoreML 框架，直接在 ANE 上进行神经网络的训练和推理调用，发现 ANE 宣传的 38 TOPS 实为 INT8 反量化至 FP16 的“数字游戏”。

maderix 经测试发现 ANE 本质上是一个内置约 32MB SRAM 的“卷积加速器”。1x1 卷积能走“专用超车道”，而矩阵乘法只能走低效的“备用通道”，导致两者吞吐量相差 3 倍。此外，ANE 的 16 个核心是基于深度流水线设计的，因此一次性打包提交包含数十个操作的“计算图”远比提交单个操作效率高。

另外，ANE 拥有极为强悍的硬件级电源门控（Power Gating）技术，它在空闲状态下，并非进入低功耗待机模式，而是做到完全断电、零泄漏，功耗为绝对的 0mW，这也解释了其在移动端设备上极佳的能效表现。有趣的是，可以看到 XNU 内核源码（`osfmk/mach/coalition.h`）也定义了 [`ane_energy_nj`](https://github.com/apple-oss-distributions/xnu/blob/main/osfmk/mach/coalition.h#L147) 字段统计 ANE 能耗。

## 代码

### [iOS-Accessibility-Agent-Skill](https://github.com/dadederk/iOS-Accessibility-Agent-Skill)

[@含笑饮砒霜](https://weibo.com/chinafishnews/)：这个仓库主要是把 iOS 无障碍开发经验，整理成一个可供 AI 调用的“专家型 Skill ”，帮助 AI 更专业地给出 UIKit / SwiftUI 的无障碍实现建议、测试建议和设计判断。 它最大的价值不是“自动修复 accessibility ”，而是让 AI 回答这类问题时更像一个有经验的 iOS Accessibility reviewer。

### [SwiftUI-Agent-Skill](https://github.com/twostraws/SwiftUI-Agent-Skill)

[@zhangferry](zhangferry.com)：这个仓库是由 Swift 领域知名开发者 Paul Hudson（Hacking with Swift 博主）开源的 SwiftUI Pro Agent Skill 插件，主要功能是为 Agent 提供专业的 SwiftUI 开发能力。它主要包括这些能力：无障碍功能适配；使用规范 API 并能替换 deprecated API；基于 HIG 设计规范；导航功能设计规范；高性能的 SwiftUI 代码；数据流设计和管理的规范；视图结构和动画实现技巧。

如果使用 Claude 或 Codex 命令行工具仅执行安装指令就够了，如果是 Xcode（26.3 或以上） 还稍微有些特别。当前 Xcode 内的 Agent 仅 Codex 可以识别全局 Skill，Claude 的话还需要在 `~/Library/Developer/Xcode/CodingAssistant/ClaudeAgentConfig` 这个目录下新建一个 `skills` 文件夹，手动把对应的 Skill 内容复制过去才能生效。

### [HealthQL](https://github.com/glisom/HealthQL)

[@阿权](https://github.com/bqlin)：HealthQL 是一款开源 Swift 库，简化 Apple HealthKit 数据查询：支持 SQL 语法和 Swift DSL（类型安全、链式调用）两种查询方式，覆盖步数、心率等常见健康数据，支持聚合、分组等操作，可通过 Swift Package Manager 安装，避免原生 HealthKit 的繁琐样板代码。

### [FabBar](https://github.com/ryanashcraft/FabBar)

[@Barney](https://github.com/BarneyZhaoooo)：这是一个面向 iOS 26 `Liquid Glass` 风格的自定义 Tab Bar 组件，重点不只是“做得像”，而是补上系统 Tab Bar 无法优雅承载悬浮主操作按钮的问题。作者指出，把 FAB 硬塞成一个 `.search` tab 虽然实现简单，但会带来语义错误、VoiceOver 识别不准，以及状态切换时的交互竞态。这个库对外提供 SwiftUI 接口，内部借助 `UISegmentedControl` 复用原生玻璃态反馈，再补齐悬浮按钮、安全区适配、重复点击回调和按状态隐藏等能力。代价是实现依赖 UIKit 私有层级细节，未来系统更新后可能失效，部分原生无障碍行为也难做到完全一致。适合想跟进 iOS 26 视觉风格，同时又对底部主操作入口有更强控制需求的项目参考。

## 内推

重新开始更新「iOS 靠谱内推专题」，整理了最近明确在招人的岗位，供大家参考

具体信息请移步：https://www.yuque.com/iosalliance/article/bhutav 进行查看（如有招聘需求请联系 iTDriverr）

## 关注我们

我们是「老司机技术周报」，一个持续追求精品 iOS 内容的技术公众号，欢迎关注。

**关注有礼，关注【老司机技术周报】，回复「2024」，领取 2024 及往年内参**

![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)

同时也支持了 RSS 订阅：https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

## 说明

🚧 表示需某工具，🌟 表示编辑推荐

预计阅读时间：🐎 很快就能读完（1 - 10 mins）；🐕 中等 （10 - 20 mins）；🐢 慢（20+ mins）
