阅读视图

发现新文章,点击刷新页面。

老司机 iOS 周报 #331 | 2025-04-14

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

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

新手推荐

🐎 Building a dependency injection framework

@阿权:文章介绍了在 Swift 中如何从零到一搭建轻量级级依赖注入(DI)容器,内容包括:

  1. DI 容器设计:实现注册(register)和解析(resolve)依赖的基本功能,通过字典存储类型与工厂函数的映射。
  2. 生命周期管理:使用枚举 DependencyLifetime 区分瞬态(每次解析创建新实例)和单例(首次解析创建并缓存),通过单独的字典存储单例实例。
  3. 属性包装器 @Injected:简化依赖注入,声明属性时自动从容器解析依赖,提升代码简洁性。
  4. 实战示例:通过协议定义、容器配置和 SwiftUI 集成演示完整流程。

文章中的实现覆盖了 DI 的核心机制,有了这篇文章的基础,推荐大家再去阅读 Swinject 的实现,会对 DI 的实现有更深刻的理解。

文章

🐎 注意,暂时不要升级 MacOS ,Flutter/RN 等构建 ipa 可能会因 「ITMS-90048」被拒绝

@david-clang:macOS 15.4 会导致 Flutter/RN 构建产物新增无效文件夹 .Symbols ,提交 App Store 审核会被拒。虽然文章还提供了临时解决办法,但还是建议非必要先不升级,因为调试 Flutter iOS 模拟器时会遇到 flutter attach 失效,无法 hot reload (#166333),该问题还没好的解决办法,可用真机调试先绕过。

🐕 New in Swift 6.1: Test Scoping Traits

@Cooper Chen:这篇文章介绍了 Swift 6.1 引入的 Test Scoping Traits 新特性,它彻底改变了测试代码的编写方式。通过自定义 TestTrait,开发者可以更优雅地管理测试上下文和全局状态,特别适合依赖注入和快照测试等场景。
新特性主要优势包括:

  1. 简化测试代码:用 @test(.trait) 替代复杂的闭包嵌套
  2. 支持并发安全:完美适配 Swift Testing 的并行测试
  3. 三大流行库已适配:Dependencies、SnapshotTesting 和 MacroTesting 都支持新特性

现在升级到最新版本即可体验这些改进,让测试代码更简洁高效。

🐕 Swiftdata Architecture Patterns And Practices

@Barney:本文以预算管理为例,展示了 Swift 原生框架下数据驱动的开发范式。主要介绍了苹果专为 SwiftUI 设计的 SwiftData
核心特性包括:
1 声明式建模@Model 宏简化模型定义,支持 Codable 类型与唯一性约束;
2 深度 SwiftUI 整合@Query 动态追踪数据变化,视图自动刷新;
3 业务逻辑内聚 :模型类直接嵌入唯一性验证、金额计算等规则;
4 灵活架构 :可选协议抽象数据层,适配长期维护或框架迁移;
5 云同步与预览 :默认 CloudKit 私有库同步,PreviewModifier 快速注入测试数据。

工具

🐎 Introducing swiftly 1.0

@DylanYang:Swift 正式发布了它的工具链版本管理工具 swiftly,它可以帮助开发者更方便的在不同的平台上下载、安装指定版本的 Swift。借助 swiftly 的版本申明,可以更简单的在团队开发或者 CI/CD 环境中保持 Swift 的版本一致性。swiftly 一大亮点是它自身是由 Swift 开发而成的,因此它可以直接使用 Swift 内的标准库处理 HTTP 请求和文件系统读写等场景,它也利用可以和 C 桥接的特性使用了 C 的压缩库。对具体的使用方式感兴趣的同学可以阅读文章做进一步的了解。

音视频

🐢 Spatial Rendering for Apple Vision Pro with ARKit, Metal, and Compositor Services by Warren Moore

@BluesJiang: 《Metal by Example》的作者亲自亲自视频授课。这个视频介绍了 Vision Pro 上做 3D 内容所涵盖的所有知识点,包括 ARKit 渲染,Metal 渲染,自定义渲染器,空间手势,手部追踪,物理等,内容覆盖的很全面,适合想了解 VisionOS 在 3D 渲染方面如何切入的读者。视频作者的书也很值得跟着学一学。

内推

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

❌