Actividad
El siguiente comando, ejecute mientras trabaja con iCloud con aplicaciones (como Smultron 4 y TextEdit) que admiten documentos móviles -
sudo opensnoop -n ubd
: muestra los archivos locales abiertos por el daemon de ubicuidad. Los archivos incluyen bases de datos, una base de datos por igual. Un directorio por igual en la siguiente ruta:
~/Library/Application Support/Ubiquity
Tipos de datos
Si desea medir el progreso, decida qué tipos medir:
- Datos básicos
- documentos
- clave-valor.
Guarda, progresa y mide
Datos básicos
... Los archivos de registro de cambios, no el archivo de tienda, se cargan en iCloud y
descargado a cada uno de los otros dispositivos de un usuario. Cuando un registro de cambios
llega desde otro dispositivo conectado a la misma cuenta de iCloud, Core
Los datos actualizan la copia local de la aplicación de la base de datos SQLite de su aplicación, basada en
el registro de cambios recibido. iCloud y Core Data aseguran que cada local
La base de datos se actualiza con el mismo conjunto de cambios. ...
Considere: sin interpretar el contenido de un registro de cambios, ¿valdrá la pena medir el progreso de la carga del archivo de registro?
Documentos
En la biblioteca de desarrolladores de Mac:
... Las aplicaciones basadas en documentos pueden adoptar el guardado automático en su lugar y sus documentos
se guardan automáticamente en los momentos apropiados ...
También:
Las estrategias automáticas de ahorro de datos alivian al usuario
... puntos apropiados en su código donde cualquier cambio relacionado con el usuario
Deben guardarse y escribir esos cambios en el disco automáticamente. ...
Algunas veces apropiadas cuando puede guardar datos de usuario automáticamente
incluye lo siguiente:
- Cuando el usuario cierra la ventana de la aplicación o cierra la aplicación (applicationWillTerminate :)
- Cuando la aplicación está desactivada (applicationWillResignActive :)
- Cuando el usuario oculta su aplicación (applicationWillHide :)
- Siempre que el usuario realice un cambio válido en los datos de su aplicación
El último elemento significa que tiene la libertad de guardar los datos del usuario
En cualquier momento tiene sentido hacerlo. Por ejemplo, si el usuario es
editando los campos de un registro de datos, puede guardar cada valor de campo como
ha cambiado o puede esperar y guardar todos los campos cuando el usuario muestra
un nuevo disco. Hacer estos tipos de cambios incrementales asegura que
los datos están siempre actualizados pero también requieren información más detallada
Gestión de su modelo de datos. ...
Considere: esos ahorros pueden ser tan frecuentes, y las cantidades tan pequeñas, que la medición no valdrá la pena.
item-info.db
Jugué con Buscador de base de datos SQLite para buscar la base de datos item-info.db
para el par que parece ser mi Mac local. Como sospechaba, la aplicación solo podía navegar mientras el sistema no estaba usando la base de datos; a los dos segundos de usar Vista previa para editar un Untitled.png
en iCloud, ya no podía navegar por la base de datos ... y así sucesivamente.
Referencias
Diseño de iCloud Guía
Guía de programación de la aplicación Mac : el diseño de la aplicación Core: