ios - sincroniza - Preguntas sobre los datos centrales de iCloud+
icloud para windows (2)
Tengo una aplicación en la tienda de aplicaciones, que utiliza los datos principales como almacenamiento. Quiero actualizar la aplicación con la sincronización de iCloud como nueva característica. Siguiendo el código de muestra de apple, logré que mi almacenamiento de datos central se sincronizara entre dispositivos.
Sin embargo, tengo problemas cuando la sincronización de iCloud se desactiva / activa en la aplicación solo en uno de los dispositivos, o cuando la aplicación se elimina del dispositivo y se reinstala. En ambos casos, los datos no se sincronizan de nuevo con el dispositivo, aunque está disponible muy bien en un segundo dispositivo (que no se deshabilitó / reinstaló).
También encontré que todo el almacenamiento se borró por completo, cuando borré la aplicación de todos los dispositivos y luego reinstalé. Aunque recibo un par de notificaciones de fusión en la consola (incluso algunas sin errores), no puedo ver datos en el almacenamiento local del dispositivo.
Navegar por las carpetas de documentos móviles en mi mac aún revela muchos registros de transacciones en el almacenamiento icloud de mi aplicación.
Incluso eliminar la aplicación de todos los dispositivos y comenzar de cero no resolverá las cosas. Terminaré en una situación en la que los datos solo se sincronizarán en un dispositivo o no se sincronizarán.
Me pregunto si hay algo que pueda hacer con respecto a este estado incoherente que se crea cuando solo un dispositivo está temporalmente inhabilitado para iCloud, o la aplicación se elimina de UN DISPOSITIVO.
En cuanto a mi código, es una copia 1: 1 del ejemplo de recetas de Apple.
Daniel Pasco habló sobre el uso de Core Data e iCloud juntos en NSConference 2012. Algunas notas de esa publicación del blog:
iniciando con -com.apple.coredata.ubiquity.logLevel 3 para obtener un spamfest en el registro de mensajes que indica qué están haciendo Core Data e iCloud.
La conclusión de esta charla parece ser que usar Core Data e iCloud realmente no están listos el uno para el otro en esta etapa.
Publicó un proyecto actualizado de Core Data Recipes en Github que puede solucionar su problema o no.
Apple lo hace parecer fácil, pero hay una serie de matices con respecto a la distribución correcta de iCloud con datos, y lo que sucede después cuando el soporte de iCloud se activa y desactiva en diferentes dispositivos.
Implementé un proyecto de muestra que demuestra una manera directa de agregar soporte de iCloud a las aplicaciones de CoreData de estilo de biblioteca. Se llama iCloudStoreManager y está disponible en github .
Todavía estoy probándolo antes de agregar compatibilidad con iCloud a una de mis propias aplicaciones de producción. Está funcionando, pero veo errores inesperados y retrasos cuando un iPad 3 está en la mezcla. Funciona, pero con largas demoras.
También probé con iPhone 4, iPhone 4S y el iPad original, y cualquier combinación de esos dispositivos funciona bien en mi experiencia.