Skip to content

老司机 iOS 周报 #356 | 2025-10-27

Latest

Choose a tag to compare

@ChengzhiHuang ChengzhiHuang released this 26 Oct 10:12
· 9 commits to master since this release

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

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

新手推荐

🐕 Derived Data: 5 Things iOS Developers Do Wrong

@极速男孩:这篇文章总结了 iOS 开发者常对 Derived Data 犯的 5 个错误:

  • 不理解其用途
  • 手动查找文件夹
  • 出错时删除整个根目录(应只删特定项目的)
  • 不监控构建时间
  • 不检查 .app 产物以优化

文章

🐕 Why a custom ViewModifier is often useless

@Barney:文章主要阐述何时需要创建自定义 ViewModifier。作者指出,若只需封装不涉及 @State@Environment 的修饰符,直接使用 View 扩展方法即可,无需创建 ViewModifier 结构体。仅当需要管理状态或使用属性包装器时,才必须创建 ViewModifier 以正确处理这些需求。简而言之,ViewModifier 并非总是必需的,应根据实际需求选择合适的实现方式。

🐎 Don't make this mistake with a TaskGroup

@Smallfly:这篇文章聚焦 Swift 并发编程中 TaskGroup 的常见误用场景,通过示例代码揭示任务结果顺序的潜在问题,并提供简洁的解决方案。核心内容包括:

  • 问题现象:首次使用 TaskGroup 时,任务结果默认按完成顺序返回,而非任务创建顺序,导致数组结果顺序随机(如 fetchData(id:) 模拟网络延迟后,结果顺序与 id 无关)。
  • 解决方法:修改任务返回值为元组(包含原始参数与结果),例如 (index, result),收集结果后通过参数排序,确保最终数组顺序与任务创建顺序一致。

文章通过具体代码演示问题与修复过程,为开发者避免 TaskGroup 使用中的「顺序陷阱」提供了清晰的实践指导。

🐕 深入理解 Flutter 的 PlatformView 如何在鸿蒙平台实现混合开发

@david-clang:本文深入解析了 Flutter 在鸿蒙平台实现 PlatformView 同层渲染的技术方案,其核心实现机制如下:

  1. 渲染架构基础:采用类似 Android 的 VD 模式,通过 ArkUI 的 NodeContainer 作为占位容器,BuilderNode 将原生 ArkUI 组件转换为可渲染纹理。
  2. 数据驱动管理:基于 DVModel 数据模型驱动 DynamicView 进行节点的动态挂载与更新,契合鸿蒙声明式 UI 架构。
  3. 纹理合成流水线:Flutter Engine 通过鸿蒙 Graphic2D 创建 OH_NativeImage,该实例同时作为 Surface 供 BuilderNode 渲染 ArkUI 控件,并作为 Texture 供 Flutter 引用与合成。
  4. 事件传递机制:触摸事件从 Dart 层下发,经 EmbeddingNodeController 中转并转发至原生组件,确保交互响应。
  5. 组件生命周期:通过 EmbeddingNodeController 管理 BuilderNode 的创建与销毁,实现 PlatformView 的完整生命周期管理。

代码

🐕 An Apple Intelligence-Style Glow Effect in SwiftUI

@阿权:文章通过“多图层描边 + 模糊 + 动态渐变”的组合,复现了 Apple Intelligence 风格的发光效果,且支持所有 InsettableShape。你可以用它来突出按钮、卡片或文本容器,为界面增添现代感和表现力。

代码细节详见 GitHub repo

内推

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