This year, they've _finally_ introduced a higher-level API that does what you're describing, but it's still in beta: https://developer.apple.com/documentation/cloudkit/cksynceng...