# 14 : Progress Built on a Foundation of Stability

Published on

Get weekly handpicked updates on Swift and SwiftUI!

Weekly Comment

Recently, the iOS 17.3 Beta 2 version released by Apple encountered an unexpected issue, causing a boot loop problem in several devices, including the iPhone 15 Pro Max. Currently, it seems the only solution is to download and install the IPSW firmware. Although the Beta version is primarily aimed at developers, the emergence of such a serious issue is still surprising.

I initially thought Apple would spend more time refining its brand-new product, the Apple Vision Pro, but according to the latest news, it will be released on February 2nd. Given Apple’s current performance in software quality control, I can’t help but have some concerns about the stability and maturity of this product.

A few weeks ago, Apple allocated part of its software development team to focus a week on fixing some existing issues, but the results don’t seem to be very noticeable. While writing an article about relationship handling in Core Data, I encountered a perplexing design in SwiftData, particularly in its handling of to-many relationships (which can lead to severe performance issues if mishandled). Another article recommended this week also highlighted problems with SwiftData’s handling of pending changes. In summary, new errors continue to emerge, while old problems still remain unresolved.

I sincerely hope these problems do not continue to accumulate and evolve to a degree that severely impacts users and developers.

However, there is also some exciting news this week. It is said that Siri has made significant progress in utilizing generative AI, with surprises expected at this year’s WWDC. I also hope that by mid-2024, Apple will make more innovations in integrating AI with development tools, bringing a richer and more efficient AI-assisted development experience to developers using Xcode.

I will continue to follow Apple’s efforts to address current issues and drive technological innovation, looking forward to the positive changes they bring.

Originals

Mastering Relationships in Core Data: Fundamentals

Fatbobman

In the numerous discussions about Core Data, “object graph management” undoubtedly appears as a core concept. As a renowned framework for object graph management, Core Data’s key task is how it precisely describes and effectively manages the complex relationships between different data instances. Indeed, the ability to manage relationships not only constitutes the core characteristic of Core Data but also represents a significant advantage over other data persistence frameworks. In this article, we will delve into the basic concepts of relationships in Core Data, while providing important guidance and suggestions for implementing these relationships.

Recent Selections

SwiftData Fetching Pending Changes

Keith Harrison

In Core Data, when we fetch data from persistent storage, the managed object context by default includes those pending changes (i.e., changes not yet persisted). SwiftData, as a successor to Core Data, should ideally have similar characteristics. However, in a similar configuration environment, SwiftData has not been as effective as Core Data in handling these changes. In this article, Keith Harrison delves deep into this issue, issuing a warning to developers currently using SwiftData.

AnyView’s impact on SwiftUI performance

Martin Mitrevski

This article discusses the potential impact on performance when using AnyView in SwiftUI. AnyView, as a type-erasing view, allows developers to avoid specifying the exact types of views in the view hierarchy, thus simplifying code complexity and reducing the frequent use of generics. However, this convenience may come at the cost of performance. The author, Martin Mitrevski, demonstrates the impact of AnyView on SwiftUI performance through meticulously designed test code. The article specifically points out that one should be cautious using AnyView in scenarios with scrollable lists containing a large number of subviews, to avoid unnecessary performance degradation.

How to use Stable Diffusion models in a Swift app

Pol Piella

With the rise of Apple’s silicon chip technology, an increasing number of developers are exploring open-source AI models on mobile devices to create innovative AI applications. In this article, Pol Piella thoroughly explains how to effectively utilize the Stable Diffusion model in Swift applications. He not only discusses how to use existing CoreML models in Swift apps but also demonstrates the specific steps for utilizing Apple’s ml-stable-diffusion library. Additionally, the article explains how to convert any model from the HuggingFace platform into a CoreML model using Apple’s python_coreml_stable_diffusion.torch2coreml script, thereby expanding the possibilities of implementing AI functionalities in Swift applications.

Workaround: Xcode simctl status_bar is still broken for iOS 17 simulators

jesse squires

simctl status_bar, an important command-line tool, plays a crucial role in customizing the status bar information in iOS simulators. This tool adjusts various information displayed at the top of the screen, such as time, battery level, and network signal. Developers often rely on this tool to ensure consistency and a professional appearance of the status bar information when preparing App Store screenshots or other professional presentations. Unfortunately, on iOS 17 simulators, the functionality of simctl status_bar has encountered obstacles, making traditional methods no longer applicable. In this article, Jesse Squires shares the temporary solution he found to address this issue. Given the current situation, the author predicts that this problem may not be resolved in the short term.

Git basics for iOS developers

Donny Wals

This article, written by Donny Wals, aims to provide iOS developers with a basic understanding and overview of Git. Wals emphasizes that although there isn’t a version of Git specifically tailored for iOS developers, understanding and mastering Git is crucial for those involved in iOS development. The primary goal of the article is to introduce the core concepts, commands, and fundamental principles of Git, assisting iOS developers to apply Git more effectively and efficiently in their work. Through this article, Wals offers a practical and comprehensive starting point for developers who wish to delve deeper into how Git can be utilized in the iOS development environment.

Weekly Swift & SwiftUI insights, delivered every Monday night. Join developers worldwide.
Easy unsubscribe, zero spam guaranteed