Evaluación de una estrategia para sincronizar Core Data con Dropbox

Esta pregunta trata sobre el uso de Dropbox para sincronizar un almacén de datos principales de sqlite entre varios dispositivos iOS. Considere este arreglo:

Una aplicación utiliza un almacén de Core Data, llámalolocal.sql, guardado en la propia aplicaciónNSDocumentDirectory

La aplicación utiliza la API de sincronización de Dropbox para observar un determinado archivo en el Dropbox del usuario, por ejemplo,user/myapp/synced.sql

La aplicación observaNSManagedObjectContextDidSaveNotification, y en cada copia se guarda.local.sql auser/myapp/synced.sql, sustituyendo así a este último.

Cuando la API de Dropbox nos notifica quesynced.sql cambiado, hacemos lo opuesto a la parte 3 más o menos: arrancar la pila de Datos del Núcleo, reemplazarlocal.sql consynced.sql, y recrear la pila Core Data. El usuario ve "Sincronizar" o "Cargando" en la interfaz de usuario mientras tanto.

Preguntas:

A. ¿Es esta disposición enormemente ineficiente, en la medida en que debe evitarse por completo? ¿Qué pasa si podemos garantizar que la base de datos no es de gran tamaño?

B. ¿Es este arreglo conducente a la corrupción del archivo? ¿Más que sincronizar vía deltas / changelogs? Si es así, ¿podría explicar en detalle por qué?

Respuestas a la pregunta(1)

Su respuesta a la pregunta