Core Data Lab 1.2: App Data Containers, and more
Version 1.2 of Core Data Lab fixes some visual glitches when using the app with the current beta version of macOS 11 Big Sur, and contains some handy new features plus a few bug fixes.
The following features are new in Core Data Lab 1.2:
- App Data Container support: you can now directly open App Data Container files (with .xcappdata extension) generated by Xcode, via menu File > Open Container in Core Data Lab or by using the context menu in Finder. When the container file contains one database, then it will be automatically opened, in case of multiple databases a selection list will be presented.
- Store Metadata: the metadata of the Core Data database can now be inspected via menu File > Store Metadata. Not only the official Core Data metadata items are being shown, but also custom items added in code by the developer.
- NSPersistentHistoryTracking support: if the selected database already contains history tracking data, then you can enable NSPersistentHistoryTracking, which makes the database editable in Core Data Lab. This setting can be found in the Project Settings sheet, which can be opened from the File menu.
- Performance settings: the Core Data Lab Preferences has been extended with a Performance section, which may help to prevent 'beach balling' when loading large tables. The new section contains the following two settings:
- Lazy load property values and subentities: when enabled, property values and subentities are not immediately loaded in memory when fetching data, but are fetched dynamically when needed to display data.
- Sort on object identifier by default: a side-effect of the setting above is that data is fetched without any sorting, unless the fetch contains a NSPredicate. So when there is no predicate, which is always the case if you select an Entity in the sidebar, a sorting is applied on the first NSManagedObjectID column.
- Data access mode setting to open new databases as read-only or not, is now a global setting in the Advanced section of the Core Data Lab Preferences. This setting is now also used when opening a database in Finder.
The following improvements have been made in Core Data Lab 1.2:
- Extension-less databases: to add support for extension-less databases in Core Data Lab, add a single dot to the Database Extension setting of the Search section in the Core Data Lab Preferences.
- Column sorting, which can be applied to a table by clicking on a column header, can now also be removed by using the right-click context menu-item Remove Sorting on the header of the sorted column.
The following issues have been fixed in Core Data Lab 1.2:
- The Date picker now uses the same timezone (Greenwhich Mean Time) as all other date representation fields.
- After saving a new predicate, it is now automatically selected in the sidebar.
- The width of the last column in the data table was incorrect and not resizable after opening a project with a stored selection. This has been fixed.
After version 1.2 the following minor updates has been released:
- Solves an implementation bug with opening App Data Containers as read-only.
- New menu item Invert Selection in the Edit menu.
- Solves a crash when activating the Predicate editor when the data table contains sorted data.
- Improved height calculation of the Predicate editor to prevent showing a scroll bar that could overlap the Save button.