Where you are using CKRecordZoneSubscription to sync the private database, you can use CKDatabaseSubscription to sync shared databases.
See CloudCore for an example.
Are you syncing CloudKit to CoreData? I create an observer singleton with a FetchedResultsController, detecting when changes occur in the root object (as synced from CloudKit), and post local notifications as appropriate.
See CarShuffle for an example
Topic:
App & System Services
SubTopic:
Notifications
Tags: