普通视图

发现新文章,点击刷新页面。
今天 — 2025年7月7日iOS 老司机

老司机 iOS 周报 #341 | 2025-07-07

作者 ChengzhiHuang
2025年7月6日 19:13

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

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

新手推荐

🐎 Don ‘ t Liquid Glass All the Things

@阿权:iOS 26 的液体玻璃效果让大家眼前一亮,大家可能已经在重新设计自己的 App,恨不得给所有 UI 都加上液态玻璃效果。文章提到液态玻璃效果容易滥用,导致界面的不和谐。使用液态玻璃的场景应该是用于突出按钮下方的内容,例如地图预览上方的操作按钮。换句话说,液态玻璃效果的控件会让控件自身与下方内容悬浮出来,形成两个解耦的交互层级,如果控件本身与内容是嵌合的二维依赖关系,则并不适合添加液态玻璃效果。

文章

🐢 深入解析| Cursor 编程实践经验分享

@Cooper Chen:本文深度剖析 AI 编程助手 Cursor 的进阶使用方法,为开发者提供一套可落地的效率提升方案:

1.Prompt 设计黄金法则

  • 采用"目标-背景-约束"三段式结构
  • 技术方案设计阶段明确禁止生成代码
  • 单测生成时附带示例代码确保风格统一

2.Rules 规范引擎

  • 自动生成项目专属开发规范(支持 Go/Java 等)
  • 中间件调用错误率降低至 0.3%
  • 通过"/"命令快速适配团队规范

3.工具链整合方案

  • 复杂需求使用 AutoGPT 进行任务分解
  • 技术调研调用 Claude 深度研究模式
  • 钉钉文档直接解析免去格式转换

本文提供的技术方案设计模板和开发规范 Rules 可直接复用,帮助开发者快速建立 AI 辅助编程工作流。文中揭示的"代码生成 + 架构决策"分层协作模式,为现代软件开发提供了高效的智能解决方案。

🐕 Flutter 里的像素对齐问题,深入理解为什么界面有时候会出现诡异的细线?

@david-clang:Flutter 界面中出现的诡异细线,本质原因是:

  1. 逻辑像素到物理像素转换出现浮点值(非整数 DPR、布局误差)。
  2. Skia 默认开启 AAA(Analytic Anti-Aliasing)抗锯齿处理,处理相邻同色元素时各自计算的像素覆盖率总和可能不足 100%(如 40% + 50% = 90%)。
  3. 未被覆盖的剩余部分(如上例的 10%)会显露背景色,形成半透明的细线。

解决方案是:

  1. pixel_snap:提前将逻辑像素换算物理像素,根本上避免转换后出现物理像素不对齐。
  2. Impeller: MSAA(Multisample Anti-Aliasing)抗锯齿处理,通过在每个像素内部采样多个点来获得更准确的边缘渲染效果,使那些原本因浮点误差产生的“半像素边缘”更加平滑自然,从而视觉上弱化或隐藏了细线问题。

🐕 Rewriting a 12 Year Old Objective-C iOS App with Claude Code

@Smallfly: 这是一篇非常详实的 AI 辅助开发实践分享。作者用 Claude Code 将一个 12 年前的 Objective-C 应用 Vinylogue 重写为 Swift + SwiftUI,仅用 7 天时间就完成了从架构升级到 App Store 上架的全流程。

文章的价值在于:

  1. 真实的成本分析 - 详细记录了理论花费 $353 vs 实际花费 $20 的对比,以及每日开发进度
  2. 实用的最佳实践 - 总结了大量 Claude Code 使用技巧,如使用 --quiet 标志、合理管理上下文窗口、创建反馈循环等
  3. 架构升级经验 - 展示了如何利用 AI 工具进行大规模重构,从传统架构升级到现代的 swift-dependencies + swift-sharing 架构
  4. 完整的开发流程 - 涵盖了从数据迁移、UI 适配到自动化截图生成的全过程

对于想要尝试 AI 辅助开发的 iOS 开发者来说,这篇文章提供了一个很好的参考框架。特别是文章中提到的"保持在宏观层面评估代码库,让 AI 处理微观层面的工作"这一理念,对提高开发效率很有启发意义。

🐕 Understanding and Improving SwiftUI Performance

@AidenRao:Airbnb 的 SwiftUI 性能优化分享:通过为视图自定义 Equatable 协议实现,仅在实际数据变化时触发重绘,避免不必要的视图更新。将大型视图分解为小型可差异化组件,配合复杂度检测工具(如 SwiftLint 规则)预警重构时机,减少单次渲染计算量。

代码

container

@老驴:Apple 最近发布了一个新的开源项目叫 Container,本质上是一个运行在 Linux 上,基于 Swift 和 Virtualization framework 的容器库。它的重点是更好地支持 Apple Silicon 芯片跑容器。 个人猜测,这可能是 Apple 为将来在自家服务器上使用 Apple Silicon 做准备的一步。毕竟一直有传言说 Apple 想让自家数据中心的服务器用上自研芯片,而要做到这一点,一个完善的容器方案是少不了的。

内推

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

❌
❌