NSPersistentCloudKitContainer with public database and pre-seeded data

I wonder if anyone has managed to get NSPersistentCloudKitContainer with a public database with a pre-seeded sqlite to work.

Our app has a few thousand records held in coredata that I'd like to move to cloudkit so that when we add new data it gets shared by everyone. Currently the only way to do this is by throwing up a new version to the app store with a new sqlite database embedded inside. NSPersistentCloudKitContainer seemed like the way to go.

But I cannot get it to work with pre seeded data. It seems it works fine if I download it to a device with the same apple id as added the original data. The data is there ready as soon as it's installed and new data syncs with the device. But if I install the app onto a device with a different apple id than the original seeder it deletes all the data and starts downloading it fresh from the server. This would be fine but if the data is not there when the app launches it crashes as it's critical to the app and I can't pause the app launch until it's synced as I have no way of knowing when it's ready. Is it possible to pre-seed the app with data without requiring it to download from the server? Or does the data in the sqlite have to be tied to a particular apple id?

check out https://github.com/jeffreykuiken/CloudKitSyncMonitor for hints at how to determine when first sync completes. You could also explore using multiple persistent stores, one with a read-only baseline of data, and another that syncs from CloudKit any additional data beyond baseline.

NSPersistentCloudKitContainer with public database and pre-seeded data
 
 
Q