# 11 : 用新的方式记录生活

发表于

与全球开发者一同,每周探索 Swift 世界的精彩内容

肘子的话

上周,苹果发布了 iOS 的最新更新版本 17.2。在这个版本中,苹果终于推出了此前在 WWDC 2023 上预告的“手记”(Journaling)应用。由于其简洁的设计和看似有限的功能,“手记”并未能在第一时间给大部分用户留下深刻印象。自 17.2 beta 1 版本起我便开始使用“手记”。最初与大多数用户一样,我也对苹果花费如此长时间开发这样一个“简单”的应用感到疑惑。但随着使用的深入,我逐渐意识到这背后的野心:一个基于本地设备和 AI 算法的信息自动收集、汇总工具。“手记”不仅仅是一个日记应用,它更是一个生活日志工具。通过 Journaling Suggestions API,开发者可以将应用中的数据作为“手记”的内容推荐给用户。预计不久的将来,“手记”将会整合更多的应用数据,自动整理用户的日常活动,并在获得用户许可后保存这些内容。

此外,macOS 也迎来了 14.2 版本的更新,这一更新对中文用户尤其重要,因为苹果终于解决了长期存在的中文输入法卡顿问题。难以置信的是,它竟然能够存续这么长时间。不过,值得注意的是,在完成这次重大修复之后,又出现了一个新的 Bug:无法使用常用短语。希望这次的 Bug 能够迅速得到解决。

最后,我想告诉大家,我的新博客正在按计划稳步推进,虽然投入的精力超出了预期,但预计将在年底前完成。

原创

iCloud Documents 进阶:理解占位文件、空间优化与操作技巧

fatbobman(东坡肘子)

iCloud Documents 详解:基础设置与文件操作 一文对 iCloud Documents 的基本概念、设置步骤和基础文件操作的探讨之后,本文将进一步挖掘,为读者带来更多关于 iCloud Documents 的高级话题。包括对 iCloud Documents 文件夹独特属性的探讨、占位文件的重要性及其实际应用,以及一系列与文件操作和调试相关的实用技巧。

近期推荐

How I’m using ChatGPT for software engineering

Bruno Rocha

AI 工具正逐渐成为众多开发者日常工作和生活的不可或缺的一部分。在这篇文章中,Bruno Rocha 分享了他如何借助 ChatGPT 在工作中提升效率。他描述了三个主要的应用场景:面对不确定的信息需求、解决对传统搜索引擎而言过于具体的问题,以及在需要迅速获得明确答案的情况下。显然,AI 工具在解决特定性问题和加速信息检索的过程中展现了其独特的优势。

Mobile UI testing with Maestro (Swift version)

Paul Samuels

Maestro 是一款适用于移动 UI 测试的跨平台工具,它能够在 iOS 和 Android 平台上运行,并支持多种移动开发框架及原生应用。在这篇文章中,Paul Samuels 讲解了如何利用 Swift 语言的 result builder 特性为 Maestro 构建一个领域特定语言(DSL),并演示了如何使用这个 DSL 来编写 UI 测试代码。他还强调,Maestro 不仅适用于 UI 测试,也能有效地支持日常开发工作中的自动化流程。

Testing network calls using URLProtocol

Artur Gruchała

URLProtocol 赋予了开发者自定义苹果公司 URL 加载系统的能力,使他们能够灵活地控制 URL 的加载和处理流程,实现拦截请求、修改响应等多种操作。在这篇文章中,Artur Gruchała 探讨了如何利用 URLProtocol API 来有效测试网络调用,确保 iOS 应用的稳健性和可靠性。他强调,在测试网络功能时,应避免向真实 API 发起实际的网络请求。因此,作者推荐使用 URLProtocol 来拦截由代码发出的 URLRequest,以此来模拟网络通信,而无需对整个会话进行模拟。

Mastering the ‘Final’ Keyword in Swift: A Comprehensive Guide for Optimized Coding

Leonardo

Should you add final to all your Swift classes?

Junda

“final” 关键字在 Swift 编程中扮演着至关重要的角色,它被用于限制类、方法和属性的覆盖及扩展。这个强大的特性不仅清晰地阐明了代码的意图,还确保了特定功能在应用的整个生命周期中保持一致性和稳定性。上周,Leonardo 和 Junda 分别对 “final” 关键字进行了讨论。Leonardo 的文章中主要聚焦于解释 “final” 的功能和重要性,探索了它在提高代码质量方面的作用。Junda 的文章则更侧重于分析 “final” 在运行时对优化方面的实际影响,分析了在何种情况下应该在 Swift 类中添加 “final” 关键字,以及何时这样做可能是多余的。这两篇文章共同为开发者们提供了一个全面了解 “final” 关键字的机会。

Five points about star ratings

Carlos Nuila

五星评级系统不仅是一个直观的社会认证工具,而且在表达他人对待评估事物的看法方面做得非常好。在本文中, Carlos Nuila 从历史、文化和技术的角度,对五星评价系统进行了全面分析。作者总结了五星评级系统的发展历程和它在当代社会中的普及,特别是它在互联网时代如何变得无处不在,为人们提供了关于任何事物的有用信息。本文揭示了五星评级背后的丰富文化内涵和长期演变。

为您每周带来有关 Swift 和 SwiftUI 的精选资讯!

如果文章对你有所帮助,可以请我喝杯