# 11 : Documenting My Life, Your Way

Published on

Explore weekly Swift highlights with developers worldwide

Weekly Comment

Last week, Apple released the latest update version 17.2 for iOS. In this version, Apple finally introduced the “Journaling” app that was previewed at WWDC 2023. Due to its simplistic design and seemingly limited functionality, “Journaling” did not leave a deep impression on most users at first. I started using “Journaling” since version 17.2 beta 1, and like many other users, I also had doubts about why Apple took such a long time to develop such a “simple” app. But as I delved deeper into using it, I gradually realized the ambition behind it: an information collection and aggregation tool based on local devices and AI algorithms. “Journaling” is not just a diary app, but also a life logging tool. With the Journaling Suggestions API, developers can recommend app data as content for “Journaling” to users. In the near future, it is expected that “Journaling” will integrate more apps, automatically organize users’ daily activities, and save these contents with user permission.

In addition, macOS has also received the 14.2 version update, which is particularly important for Chinese users because Apple has finally addressed the long-standing issue of lag in the Chinese input method. It is unbelievable that it could persist for such a long time. However, it is worth noting that after completing this major fix, a new bug has emerged: the inability to use common phrases. Hopefully, this bug will be resolved quickly.

Lastly, I would like to inform everyone that my new blog is progressing steadily according to plan. Although it has required more effort than expected, it is expected to be completed by the end of the year.


Advanced iCloud Documents: Understanding Placeholder Files, Space Optimization, and Operational Techniques


Following the discussion of the basic concepts, setup steps, and fundamental file operations of iCloud Documents in the article In-Depth Guide to iCloud Documents: Fundamental Setup and File Operations, this article will further explore advanced topics related to iCloud Documents. This includes an exploration of the unique properties of iCloud Documents folders, the importance of placeholder files and their practical applications, as well as a series of useful tips and tricks related to file operations and debugging.

Recent Selections

How I’m using ChatGPT for software engineering

Bruno Rocha

AI tools are gradually becoming an indispensable part of many developers’ daily work and life. In this article, Bruno Rocha shares how he enhances efficiency in his work using ChatGPT. He describes three main use cases: dealing with uncertain information needs, tackling questions that are too specific for traditional search engines, and situations where quick and precise answers are required. Clearly, AI tools demonstrate their unique advantages in solving specific problems and accelerating the process of information retrieval.

Mobile UI testing with Maestro (Swift version)

Paul Samuels

Maestro is a cross-platform tool for mobile UI testing that runs on iOS and Android platforms, supporting various mobile development frameworks and native applications. In this article, Paul Samuels explains how to use the result builder feature of the Swift language to build a domain-specific language (DSL) for Maestro and demonstrates how to use this DSL to write UI testing code. He also emphasizes that Maestro is not only suitable for UI testing but also effectively supports automation workflows in daily development tasks.

Testing network calls using URLProtocol

Artur Gruchała

URLProtocol gives developers the ability to customize the Apple URL loading system, allowing them to flexibly control the loading and processing of URLs, and perform various operations such as intercepting requests and modifying responses. In this article, Artur Gruchała discusses how to effectively test network calls using the URLProtocol API to ensure the stability and reliability of iOS applications. He emphasizes the importance of avoiding actual network requests to real APIs when testing network functionality. Therefore, the author recommends using URLProtocol to intercept URLRequest sent by the code, in order to simulate network communication without simulating the entire session.

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


Should you add final to all your Swift classes?


The “final” keyword plays a crucial role in Swift programming as it is used to restrict the override and extension of classes, methods, and properties. This powerful feature not only clearly expresses the intention of the code but also ensures consistency and stability of specific functionalities throughout the lifespan of an application. Last week, Leonardo and Junda respectively discussed the “final” keyword. Leonardo’s article mainly focuses on explaining the functionality and importance of “final” and explores its role in improving code quality. On the other hand, Junda’s article analyzes the practical impact of “final” on optimization at runtime, discussing when it is necessary to add the “final” keyword to Swift classes and when it might be unnecessary. Together, these two articles provide developers with a comprehensive opportunity to understand the “final” keyword.

Five points about star ratings

Carlos Nuila

The five-star rating system is not only an intuitive social certification tool, but also excels in expressing others’ perspectives on evaluating things. In this article, Carlos Nuila provides a comprehensive analysis of the five-star rating system from historical, cultural, and technological perspectives. The author summarizes the development of the five-star rating system and its prevalence in contemporary society, particularly how it has become ubiquitous in the internet age, providing people with useful information about anything. This article reveals the rich cultural connotations and long-term evolution behind the five-star rating system.

Get weekly handpicked updates on Swift and SwiftUI!

Buy me a if you found this article helpful