Version 2.4 of Core Data Lab is the first app update from Betamagic preceded by a public beta distributed via TestFlight. The new features in this update are based on new data storage features announced by Apple at WWDC23. These features are currently also in beta, so any input from other developers to learn more how good or bad Core Data Lab interacts with these novelties is welcome.
This year Apple announced the long expected UISwift oriented declarative data storage framework named SwiftData. Under the hood it’s not really completely new because it operates largely on top of Core Data. In the current beta implementation of SwiftData, the data is always stored in a SQLite database using the familiar Core Data structure.
However, the data model of a SwiftData project is based on Swift class files with a Model macro notation, instead of entities in a Core Data Object Model designer file. As a consequence of this, compiled SwiftData apps don’t have an embedded compiled Core Data Object Model. This makes it impossible for Core Data Lab to search for a matching database by comparing the model of a database with the embedded model of a Core Data app. Core Data Lab uses instead some sparsely documented conventions to determine the location of the database files for a given SwiftData app.
The Core Data Lab 2.4 beta adds support for:
New in Core Data when used in the latest OS versions, is support for NSCompositeAttributeType attributes. Regarding this, Core Data Lab 2.4 beta adds support for:
We want to add editing support for composite attributes in a future update.
This update contains the following additional enhancements:
This beta of Core Data Lab is intended to test and evaluate the new software. It has a built-in expiration date, which can be overruled at any time by an earlier date, for example when a newer beta build becomes available for downloading, or when Core Data Lab 2.4 is officially released.