The official Betamagic news channel.

Core Data Lab 2.4: Public TestFlight beta

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.

SwiftData vs Core Data

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.

SwiftData support

The Core Data Lab 2.4 beta adds support for:

  • Browsing and opening SwiftData apps and databases in the Simulator browser for iOS, iPadOS and tvOS apps.
  • Detecting apps as SwiftData apps, including extraction of bundle and app group identifiers.
  • Finding the database of a selected SwiftData macOS app via the Search database function, based on default SwiftData file location conventions.

Core Data Lab 2.4

Composite attributes

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:

  • Displaying composite values in the table, detail and content views as readonly dictionaries.
  • Using composite attributes in the Predicate editor. This means you can filter on any element of a composite attribute, including nested composite attributes.
  • Displaying composite attributes in the Entity Description view of a selected entity.
  • Export and import of composite attributes values via CSV or JSON import and export files.

We want to add editing support for composite attributes in a future update.

Other improvements

This update contains the following additional enhancements:

  • Core Data Lab now always checks the reachability of the opened database files when the document window is being reactivated. If necessary an auto-repair of the database file locations is being performed if it concerns a simulator project. Otherwise when the database files are no longer at the expected locations, the Project Settings dialog is being presented.
  • Extraction of app icons for displaying in the toolbar has been improved.

Beta downloads

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.

TestFlight Link

Core Data Lab 2.4 Build 171:

More info about TestFlight can be found here: Please send your feedback to or use the built-in feedback features of TestFlight. Thanks!

« Back