В Core Data менеджер у тебя есть NSFetchedResultController или нет? Чтобы оперативно реагировать на изменения БД - либо пилится нотификация об изменении контекста ( такое себе), либо используется NSFetchedResultController ( самое нормальное решение). У меня четко отрабатывалась синхронизация с CloudKit, правда, какие - то сложные связи, которые могут неоднозначно отработаться, боюсь использовать. Так как не совсем понимаю, какая там Merge - политика.