# 老司机 iOS 周报 #295 | 2024-07-01

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

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

## WWDC24 内参

今年的内参创作正在紧锣密鼓的展开，首篇文章已经发布。目前 空间计算 等主题还有重要 Session 期待大家的创作，可以[填写问卷](https://docs.qq.com/form/page/DZWZPZk1seFJWWURG)继续报名：）

### 🌟 [WWDC24 10195 - Go further with Swift Testing](https://xiaozhuanlan.com/topic/5946873021)

[@Zac](https://github.com/jihongboo)：Swift Testing 是 Swift 团队推出的一个全新的测试框架，集合了原生、开源、跨平台、高效、易用、IDE 无缝集成等新特性。文章从 0 开始介绍如何使用 Swift Testing ，对比了与 XCTest 的差异，最后对 Swift Testing 以及单元测试的相关问题进行了探讨。

## 新手推荐

### 🐢 [Flutter 面试八股之深入理解 Dart 异步实现机制](https://mp.weixin.qq.com/s/OTYt2efBQOYuc5ko_PU1iw)

[@CrazyCoderShi](https://github.com/CrazyCoderShi): Flutter 日常开发中用到的各种异步机制你都了解其运行原理么 : Future, Timer, isolate, Runner; 他们跟 Thread 又有什么关系？本文由 GYSTech 提供，详细阐述了几个异步机制的深层原理，同时清晰的展示各种关联，带你详细了解 Flutter 异步机制；最后小编推荐有英文阅读能力的同学同时[阅读 Dart VM 机制讲解](https://mrale.ph/dartvm/)，可以加深对于 Flutter 底层运行的了解.

## 文章

### 🐎 [All new frameworks presented at WWDC24](https://marcoeidinger.github.io/appleframeworks/)

[@含笑饮砒霜](https://weibo.com/chinafishnews/)：这是一个关于 Apple 公共框架的在线资源页面，为开发者提供了一个全面、准确、易用的 Apple 公共框架查看和搜索平台，极大地便利了开发者在 Apple 生态系统中进行框架选择和开发工作。


### 🐎 [Reverse Engineering Photos' New Search UI](https://sebvidal.com/blog/reverse-engineering-photos-search-ui/)

[@Damien](https://github.com/ZengyiMa/)：文章介绍了 iOS 18 中 Photos 应用搜索界面的逆向工程分析。作者探索了创建与键盘背景融合的自定义搜索栏的技术，并通过调试和使用 Objective-C 运行时方法，成功复现了这一效果。最后，作者提供了一个 GitHub 示例项目，展示了如何将自定义搜索栏集成到应用中。

### 🐕 [Preparing your App Icon for dark and tinted appearance](https://www.createwithswift.com/preparing-your-app-icon-for-dark-and-tinted-appearance/)

[@AidenRao](https://weibo.com/AidenRao): 这篇文章介绍了在 iOS 18 中引入的关于应用图标的新要求，提供三种不同版本的应用图标：亮模式、暗模式和有色（tinted）模式。文章提供了关于设计这些图标的建议和注意事项，包括暗模式下的颜色选择和有色模式下的灰度图像要求。此外，还介绍了如何使用苹果提供的设计资源和模板来支持开发者和设计师创建可自定义的应用图标。

### 🐕 [SwiftData vs Realm: Performance Comparison](https://www.emergetools.com/blog/posts/swiftdata-vs-realm-performance-comparison/)

[@DylanYang](https://github.com/Dylan19Yang)：本文作者通过自己写的测试 Demo 深度对比了成熟的社区开源产品 Realm 以及 Apple 新推出的 SwiftData 的性能差距。总的来说得益于 Realm 使用的轻量化的对象和 mmap 的内存管理方案，Realm 在大多数场景下尤其是处理大量数据的时候都有远超 SwiftData 的性能表现，部分差距可达 3-10 倍。但是 SwiftData 在复杂数据查询和少量数据（<=10000）时的更新场景下也有优势。除开性能表现外，SwiftData 相较于 Realm 而言还是一个不够成熟的框架，比如最低支持 iOS 17+ 以及依然存在若干 bug 等，不过 SwiftData 支持索引，这对大数据集有一定帮助。以上这些都是开发者在做数据库的方案选择时可以考虑的因素。

## 工具

### 🐎 [riffo.ai：AI 文件自动整理工具](https://riffo.ai)

[@EyreFree](https://github.com/EyreFree)：Riffo 是一款革命性的 AI 文件命名工具，旨在帮助用户告别杂乱无章的文件名，节省大量文件整理时间。它内置于菜单栏中，只需单击即可使用。Riffo 支持各种常见文件格式，如图片、Word 文档、PDF 等，让文件管理变得简单高效。用户可以自定义命名规则，Riffo 就会自动为文件批量重命名，实现无人工干预的文件管理。凭借并行处理技术，Riffo 可以在几秒钟内完成大批量文件的重命名，目前支持 macOS 系统。推荐每一位被文件管理所苦的用户尝试使用。

### 🐎 [Installing macOS Sequoia Beta in a Separate APFS Volume](https://adrian.schoenig.me/blog/2024/06/13/installing-macos-sequoia-in-a-separate-volume/)

[@Crazy](https://github.com/jiyan135960)：对于既想要使用最新版本的 macOS Sequoia，但却只有一台主力机的开发人员来说。利用一个单独的 APFS 卷来安装 macOS Sequoia 测试版，是一个很好的方法，本文将这种安装最新 macOS 的过程简化为 10 个步骤。

- 使用 Time Machine 进行备份
- 创建一个新的 APFS 卷
- 关闭 Mac
- 启动并一直按住电源按钮
- 选择“ Options ”
- 然后选择将 Sonoma 重新安装到步骤 2 中的卷
- 等待一段时间
- 安装完成后，最好不要登录 iCloud，并跳过迁移之前的用户账户
- 打开系统设置，启用测试版更新，并将该安装更新到 Sequoia
- 向 Apple 提交反馈！


## 代码

### 🐕 [apple/app-store-server-library-swift](https://github.com/apple/app-store-server-library-swift)

[@Barney](https://github.com/BarneyZhaoooo)：Apple App Store Server Swift Library 是一个为 App Store 服务器 API 和通知设计的 Swift 库，支持 iOS 应用开发。它提供了安装指南、详细的 API 文档、使用示例和安全更新支持。开发者可以通过 Swift Package Manager 轻松集成，并参照示例代码快速上手。


### 🐢 [below/HelloSilicon](https://github.com/below/HelloSilicon)

[@xuyafei86](https://github.com/xiaofei86)：在 iOS 开发中，定位疑难 BUG、优化性能和逆向工程等经常需要对汇编、操作系统、处理器有一定的了解。但在 Apple Silicon Mac 上学习汇编十分困难，大部分中文材料仍然停留在 32 位处理器，基于 Linux 系统。而《Programming with 64-Bit ARM Assembly Language》是入门 ARM64 汇编语言的优秀材料。本仓库将此书的所有示例代码适配到 Apple Silicon Mac。感兴趣的同学可以结合原书一起学习。

## 内推

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