La eliminación de datos básicos de la entidad de almacenamiento externo no libera espacio en iCloud.

En mi aplicación tengo esta simple nota <- >> relación fotográfica en Core Data sqlite, con la foto que son los datos binarys con "Permitir almacenamiento externo", y la regla de eliminación es la nota de la foto en cascada, la foto anula la nota. Cuando traté de agregar algunas notas con fotos, luego elimínelas, se ve bien en el directory de iPhone Simulator (los files de fotos externos se eliminan). Sin embargo, cuando lo probé en mi iPhone con synchronization de iCloud, el tamaño de almacenamiento de iCloud de mi aplicación solo aumenta cada vez que agrego fotos, pero nunca se networkinguce después de borrar las notas o las fotos, ¿alguna idea?

Eliminaste la foto, pero el logging de transactions sigue ahí. La integración de iCloud de Core Data se basa en transactions: cada vez que guarda cambios, se crea un nuevo logging de transactions. Las transactions cubren la creación, la actualización o la eliminación de datos. Un logging de transactions se mantiene hasta que el software subyacente de iCloud decide hacer algo al respecto.

Cuando crea una foto, obtiene un logging de transactions que crea el object y contiene los datos de la foto. Cuando borras la foto, obtienes un logging de transactions que dice eliminar esa foto. El segundo logging no cancela el primero , lo agrega. Ahora tiene ambos loggings de transactions, y los datos de la foto siguen ahí.

En algún momento, el código subyacente de iCloud se unirá a los loggings, y en ese punto la foto debería desaparecer. No puede hacer que eso ocurra, sin embargo, tiene que esperar hasta que suceda para usted en alguna date futura.