Gestión de loggings de transactions de iCloud de Core Data

Estoy usando iCloud con Core Data, basado en el layout de la aplicación "estilo biblioteca" de SQLite tal como lo especifica Apple. Si bien la funcionalidad básica funciona muy bien, me preocupan los loggings de transactions y cómo se gestionan.

Si bien la database para mi aplicación no es grande, es muy activa y la stack de datos principales se guarda muchas veces mientras la aplicación está en uso. He notado que se crea un nuevo logging de transactions para cada almacenamiento de datos centrales. El resultado final es que tengo un TON de loggings de transactions y ocupan mucho más espacio que la database real.

1) ¿Los loggings de transactions se dividen automáticamente o se fusionan, o continuarán creciendo indefinidamente, con la numeración final de miles y ocupando muchos megabytes? Parece que la única forma de purgar manualmente los loggings de transactions y recrear un file .baseline sería deshabilitar y volver a habilitar iCloud (eliminar el contenedor de ubicuidad y comenzar de nuevo). Pero obviamente esta no es una buena solución.

2) Mi architecture actual guarda el núcleo de stack de datos a menudo, incluso para cambios menores. En general, esto tiene sentido ya que mi database es pequeña y save a menudo asegura que el file de la database esté siempre actualizado. Sin embargo, teniendo en count los problemas anteriores con los loggings de transactions, estoy pensando que tal vez debería networkingucir al mínimo las guardadas en la database. Tal vez lo haga de manera cronometrada y / o en los estados de transición de la aplicación.

3) Incluso si minimizo el número de loggings de transactions al networkingucir la frecuencia con la que guarda la database, parece haber un problema aquí, ya que los loggings seguirán creciendo en número a lo largo del time. Eventualmente, el beneficio del layout de "logging de transactions" se convertirá en una carga en términos de la cantidad de almacenamiento de iCloud utilizado y la synchronization inicial de iCloud a medida que se agrega un nuevo dispositivo.

Como Apple ha proporcionado muy escasa información sobre iCloud y casi nada en la forma de "mejores prácticas", agradecería cualquier idea de la comunidad.

Presenté un radar sobre este tema y recibí la siguiente respuesta. Señalaron que debería funcionar correctamente en iOS 5.1, aunque todavía no lo he verificado.

Una aclaración para cualquiera que pueda malinterpretar lo siguiente. Los loggings internos de datos limpiarán los loggings de transactions. Esto NO es algo que debería ser realizado por la aplicación en sí.

Engineering ha proporcionado los siguientes comentarios sobre este problema:

Los loggings de transactions tienen la intención de eliminarse después de que todos los compañeros activos hayan tenido la oportunidad de leerlos, y exceden un umbral de espacio consumido. Hubo un problema anterior que evitó que los dispositivos lo hicieran correctamente.