Sponsored Link
Fast, AI-powered test automation for web and mobile with Testim
We're built to help Agile teams efficiently manage and scale their automation projects. Quickly author AI-stabilized UI and end-to-end tests on real and virtual devices. Learn more about Testim Mobile.
News
Xcode 15 beta 5 and TestFlight
Here we go! If you’ve been working on a beta this summer, you can now get it on TestFlight! 🚀 I’m not quite sure what they mean by “visionOS 2 beta“, did I doze off and miss visionOS 1? 😴
Tools
Smart Open Xcode
What a great tip from Christian Selig for those times of the year when we are all running beta versions of Xcode. Hammerspoon is also an excellent utility that has given me many years of trouble-free automation.
Xcode Search Scopes
I’m a fan of the Xcode feature in this latest tip from Dominik Hauser. I have a scope set to all Swift files in the Swift Package Index project to filter out results in CSS and JavaScript files. It’s useful! 👍
Code
Composable Architecture 1.0
More than three years after I heard about it, Brandon Williams and Stephen Celis have added the finishing touches to the 1.0 release of swift-composable-architecture this week. They even went the extra mile and made a DocC interactive tutorial!
For full disclosure, Point-Free sponsors the Swift Package Index. This newsletter is not directly related, I am involved in both, and I guess that’s what full disclosure means!
TipKit Examples
If you’ve not checked out TipKit yet after last week’s link, then maybe this example repository from Jordi Bruin is the inspiration you need. It looks like he has example repositories for visionOS, the dynamic island, and Swift Charts, too!
SwiftData Saving Changes
So many SwiftData posts this week! Here’s Keith Harrison looking at when it saves data compared to Core Data.
Objective-C Internals
Whether you want a trip down memory lane, or to dive deep into the internals and history of Objective-C, Brian Kelley is sure to have something for you in this series of posts that captures a slice of history.
Design
AR Quick Look Gallery
What a handy page full of example 3D models Apple has provided everyone! Thanks so much to Hidde van der Ploeg for pointing it out!
Videos
How to Easily Persist Data in SwiftUI
Talking of SwiftData, how about a guide through the basics from Karin Prater? She builds the ultimate example app when you want to play with a persistence framework, a to-do list app!
And finally...
Fancy a trip down memory lane? ❤️
Comment
I’ve struggled to know what to write about SwiftData since its debut a few weeks ago, but Pietro Rea’s recent article inspired me. Take a moment to read it before we continue.
A more Swift-friendly data persistence framework is a very welcome addition to our toolkit, but Pietro is correct when he says:
Setting up a Core Data project isn’t excessively complicated, but it can be intimidating, especially for newcomers to Apple platform development. Many years ago, I delivered Objective-C and iOS development training courses, and Core Data always felt like a step too far for a five-day course where students started with no Objective-C knowledge on day one. The code-first approach of SwiftData feels instantly more approachable, so much so that I might have considered covering it in that same training session. That’s a huge step forward.
But Core Data could also feel a little too much for some tasks, leaving you with decisions to make. “Does this data deserve Core Data, or would an atomically loaded property list file fit the task better?” I also don’t get that feeling anywhere near as much with SwiftData.
But while it’s always fun to get something new, it would be so wasteful to throw away the effort that Apple invested into Core Data over the eight years it has been around, especially when it ties so closely to CloudKit and many other technologies. New code means new bugs and the worst bugs lurk in data persistence code.
So, I was delighted to read this line:
It’s not entirely clear to me how much of Core Data remains, and it’s still early days to call SwiftData a triumph since it’s still in beta, but Apple may have got it right with SwiftData.
I can’t wait to confidently answer “How should I store data in my app?” with a simple “SwiftData”.
Dave Verwer