Alright, we now have a fully functional score keeper app! We can add and delete games, within each game we can add and delete players, and even sort the players. And we are able to assign photos to each player. All of the data is automatically persisted to disk so that it’s available next launch, and each step of the way we saw that our SQLiteData library gives us powerful tools for querying our data that can be used in SwiftUI views as well as observable models.
But now let’s get on to the part that I know everyone is most interested in: synchronization! We want our users to have access to their data across all of their devices, and we want to do it in such a way that we don’t really have to think about it when making new features. We should be able to add new screens to our app that insert data into the database, delete data, query for data, all without thinking about synchronization, and it should all just work magically.
Well, SQLiteData makes iCloud synchronization possible, and it handles it seamlessly. Let’s take a look.