Удалите ранее установленную сборку с устройства, выйдите из Xcode, перезапустите устройство и затем установите приложение после очистки всех целей.
Возможно, достаточно использовать старый добрый rsync .
Насколько мне известно, общего решения для этого нет, в основном из-за различных требований к синхронизации.
В одном из наших более ранних проектов мы реализовали механизм синхронизации на основе Spring batching который полагается на последнее обновленное поле отметки времени в каждой из таблиц (которые участвуют в синхронизации).
Я слышал о SyncML , но не имею большого опыта с этим.
Если у вас есть единственный сервер и несколько клиентов, вы можете подумать о подходе на основе JMS. Данные объединяются и помещаются в Очереди (или темы) и будут извлечены клиентами.
В вашем случае, поскольку обновления являются двунаправленными, вам также необходимо обработать обнаружение конфликтов. Это приносит дополнительные сложности.