普通视图

发现新文章,点击刷新页面。
昨天 — 2026年3月15日首页

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

作者 ChengzhiHuang
2026年3月15日 20:50

ios-weekly
老司机 iOS 周报,只为你呈现有价值的信息。

你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。

新闻

对中国 App Store 的 iOS 及 iPadOS 的调整

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

Let's Vision 26 大会

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

文章

一文读懂 Agent Tools,拒绝复杂化、碎片化、黑盒化

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

🐎 Designing Swift Errors for an SDK

@Smallfly:这篇文章把 SDK 错误设计讲得很实用,提出用 struct + Code enum 组合来同时保证「错误码稳定」与「错误信息可读」。文中覆盖 LocalizedErrorCustomNSError、模式匹配 catch 和上下文 userInfo 的完整实践,既方便客户端做分支处理,也方便监控系统长期追踪。对团队来说,这是一套很适合沉淀为工程规范的错误治理方案。

🐎 Reverse Masking in SwiftUI Using Blend Modes

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

🐎 vPhone 虚拟 iOS 环境解析与风控防御实践

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

🐎 Apple 的 ANE 被挖掘,AI 硬件公开,宣传的 38 TOPS 居然是个"数字游戏"?

@david-clangmaderix/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 字段统计 ANE 能耗。

代码

iOS-Accessibility-Agent-Skill

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

SwiftUI-Agent-Skill

@zhangferry:这个仓库是由 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

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

FabBar

@Barney:这是一个面向 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 及往年内参

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

说明

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

预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)

❌
❌