# 老司机 iOS 周报 #346 | 2025-08-11

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

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

## 文章

### 🐎 [Uncertain <T>](https://nshipster.com/uncertainty/)

[@DylanYang](https://github.com/Dylan19Yang)：作者向我们描述了原生确定的 Bool 值无法精确表达一些概率出现的场景，因此引入了 Uncertain 这样一个库。它将不确定性引入到了编码之中，它可以通过概率建模来描述一个事件的概率而非结果。这可以被用于 GPS 定位或者传感器噪声等含有不确定性的场景。实际使用时，开发者可以通过比对概率值来进行需要的逻辑开发。感兴趣的读者，可以阅读原文进一步了解。

### 🐢 [一个半月高强度 Claude Code 使用后感受](https://onevcat.com/2025/08/claude-code/)

[@JonyFang](https://github.com/JonyFang): Claude Code 在"读懂代码→规划变更→实施改造→文档 / 测试"整链路提效明显，但必须用工程化流程与成本控制兜底。把它当"结对编程伙伴"和"高效审阅者"，而不是自动合并器；产出视为草稿，经评审与测试落地更稳。

关键优势：
- 跨文件 / 长上下文理解强，能给出可执行的分步计划
- 重构、迁移、批量机械化改动效率高
- 文档 / 测试 / 变更摘要产出质量好，便于知识传递
- 对话式协作体验顺滑，降低思维切换成本

主要痛点与对策：
- 成本易失控（重度 API/ 长上下文）：设预算 / 配额与告警，精简上下文，结果缓存，订阅 +API 混合
- 偶发幻觉 / 环境不匹配：在提示中明确版本 / 依赖，强制编译与测试，小步提交 + 代码评审
- 长会话漂移：阶段性重置，会话内先对齐"当前共识"，用固定提示模板
- 合规与隐私：最小化 / 脱敏，优先企业版或私有部署，审计与密钥扫描

适用场景：原型与探索、跨文件重构 / 迁移、批量替换 / 格式化、补齐测试与文档、代码走查与交接

回避场景（尽量不让其直接改动）：
- 安全 / 核心关键路径：鉴权与权限、加密与密钥、支付 / 交易、隐私合规、一致性与并发、性能临界路径、底层 FFI（可让其做威胁建模 / 测试清单 / 审阅）
- 强环境耦合构建：工具链与版本、依赖与构建系统、签名与发布、架构 /SDK 差异、链接与符号、脚本与环境变量（可让其做日志总结 / 排查清单 / 最小复现）

与其他工具对比：跨文件理解与规划普遍强于补全型 / 纯 IDE 聊天；但即时补全流畅度与深度 IDE 集成，部分竞品更占优

实施建议：
- 工作流：先"读项目→列计划→小步提交 / 分 PR "，以测试 /CI 护栏把关
- 提示工程：固定模板（项目约束 / 版本 / 风格 / 完成定义），限制改动范围与风险级别
- 质量保障：单测优先、属性测试 / 回归套件、灰度发布与回滚预案

成本策略：设用量监控与告警；合并同类任务批处理；订阅与 API 按场景取舍；重度场景定期复盘性价比（作者实测重度使用可达数千美金级别）

适合人群：需要频繁跨文件改造与知识传递的团队 / 个人；维护大型代码库或做重构 / 迁移 / 文档化的工程师

### 🐕 [@ViewConfigurable — A better way to build SwiftUI components](https://medium.com/grindr-engineering/tl-dr-swiftui-makes-customizing-views-feel-effortless-until-you-build-your-own-reusable-4a3a0cd0e288)

[@AidenRao](https://weibo.com/AidenRao)：如果你想将自定义组件有类似 SwiftUI 的语法，需要针对每一个配置去创建一个新的函数，用于实现链式调用。作者开发了一个名为 @ViewConfigurable 的宏，该宏将根据它在 ViewConfiguration 中看到的变量名自动生成这些链式调用函数，这也会让你的代码文件变的很简洁。

## 设计

### 🐢 [Designing for the Eye](https://www.nubero.ch/blog/015/)

[@阿权](https://github.com/bqlin)：本文围绕 "视觉错觉矫正" 展开，探讨其在排版与建筑中的应用，内容如下：

1. 视觉错觉的普遍性
   - 以穆勒・莱尔错觉为例，说明视觉错觉对所有人（无论文化背景）的影响一致，甚至适用于动物与触觉感知。
   - 保罗・雷纳在《排版艺术》中指出：视觉艺术应以 "视觉呈现" 为基准，而非严格的测量数据—— 因为人类感知存在共性偏差。
2. 排版中的视觉矫正
   - 以字体 "Futura" 为例，说明字体需通过微调来对抗视觉错觉：如字母 "O" 并非完美圆形，而是略宽于高，水平线条稍细于垂直线条，以避免 "蛋形" 错觉。
   - 字母设计需考虑整体协调：如 FF Tisa 的 "O" 上伸部分超出参考线，以平衡与其他字母的视觉重量，避免显得过小。
3. 建筑中的视觉矫正
   - 以帕特农神庙为例，古希腊建筑师通过系统性调整抵消视觉偏差：
     - 柱身 "鼓肚"（entasis）：柱子中间微凸，避免因收分导致的 "纤细感"；
     - 地基弯曲：柱基呈凸形，防止视觉上的 "塌陷"；
     - 柱子倾斜：所有柱子微微内倾，避免 "外倒" 错觉。
   - 这些调整让建筑 "看起来协调"，而非追求几何完美，赋予其生命力。
4. 深层意义：反对平庸，追求美与文化
   - 视觉矫正的本质是对 "视觉真实" 的尊重，体现了对细节与美的极致追求。
   - 对比现代 " Excel 思维" 主导的平庸设计（如冰冷的混凝土建筑），强调这种对微妙之处的关注是人性与文化的体现。
   - 引用乔布斯的观点：人类进步依赖于传播 "精华"，让更多人理解美的微妙——这也是希腊人建造神庙、设计师打磨字体的根本原因。

文章最终呼吁：拒绝平庸，珍视那些让生活值得的 "美与文化"。

## 课程

### [Metal Shaders for SwiftUI](https://www.metal.graphics/)

[@BluesJiang](https://github.com/bluesjiang): 这个是一个在 SwiftUI 框架上如何使用自定义的 Shader 来实现高级渲染效果的课程，包含了渲染相关的基础知识，也包含了 SwiftUI 如何兼容使用 Metal Shader 的相关知识。不算是通识的知识，但是对于那些使用 SwiftUI 作为主力框架，并且需要非常特殊的渲染效果的应用，这门课程是可以去了解一下的。

## 内推

重新开始更新「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）
