Adding some more context to this as I'm determining how best to set up my CloudKit zones:
Option A (Current) - 1 zone per Root parent collection
Option B - 1 zone per collection
With Option A, I’d need to handle cross-zone migration whenever a SavedItem moves between Collections, or when a Collection’s parent changes (since that effectively moves an entire sub-tree of data into a new/different zone).
With Option B, where each Collection has its own zone, I’d only need to worry about migrating SavedItems and Extracts when they move between Collections - parent/child changes between Collections themselves would just update references.
Trade-off becomes:
Option A → Simpler sharing (since sharing a single Collection would automatically include all its subcollections), but I’d need zone-migration logic for all object types — Collections, SavedItems, and Extracts.
Option B → I’d still need zone-migration logic for SavedItems and Extracts, but not for Collections. However, sharing a Collection that has subcollections would require creating multiple CKShares.
Topic:
Community
SubTopic:
Apple Developers
Tags: