- Debido a conflictos de archivos ocultos en iCloud Drive, desaparecieron párrafos escritos recientemente o cambios de código, y la pérdida ocurrió antes de que se guardaran los respaldos
- El conflicto se dio porque se asumió que había distintas versiones del mismo archivo en Mac y iPhone, pero el archivo afectado nunca se había abierto en el iPhone
- Dropbox deja aparte los archivos en conflicto, pero iCloud Drive no los muestra en el sistema de archivos, así que el popup de selección solo aparece en editores con soporte para manejo de conflictos
- En editores sin manejo de conflictos, como Textifier, Xcode y Obsidian, iCloud elige qué versión guardar, y con el tiempo la versión correcta puede ser sobrescrita en los respaldos
- Es más seguro mantener los datos importantes fuera de iCloud Drive y vigilar los cambios de los archivos clave con un repositorio Git; además, también se está desarrollando Cloud Cub para archivos que deban permanecer en iCloud
Conflictos de archivos ocultos en iCloud Drive
- Mientras se escribía un documento, desapareció un párrafo recién ingresado y, durante el desarrollo de una app, Xcode empezó a mostrar varios errores en código que antes no tenía problemas
- Se habían borrado cambios recientes en varios archivos
- La pérdida ocurrió antes de que Time Machine o Backblaze llegaran a guardar un respaldo
- La causa fue un conflicto de archivos detectado por iCloud Drive
- iCloud Drive determinó que había versiones distintas del mismo archivo en Mac y iPhone y que no podía fusionarlas automáticamente
- Sin embargo, los archivos afectados nunca se habían abierto en el iPhone
- Como la carpeta Documents del Mac se había movido a iCloud, esos archivos estaban en iCloud
- Cuando hay un conflicto de versiones, Dropbox guarda además un archivo en conflicto con un nombre como “(John Doe’s conflicted copy)”
- iCloud Drive no muestra ese mismo conflicto en el sistema de archivos
- Si se abre el archivo en un editor con soporte para manejo de conflictos, aparece un popup preguntando qué versión se quiere conservar
- En editores sin manejo de conflictos, como Textifier, Xcode y Obsidian, iCloud decide qué versión guardar en el disco y en los respaldos
Condiciones de recuperación y formas de responder
- Con el paso del tiempo, si un respaldo nuevo sobrescribe un respaldo anterior que sí tenía la versión correcta, el contenido puede perderse de forma permanente
- Para recuperarlo, hay que abrir ese archivo en un editor que soporte resolución de conflictos
- El editor usado como ejemplo es iA Writer
- Después de mover el archivo fuera de iCloud Drive, este método tampoco ayuda
- En las pruebas, al volver a mover a iCloud un archivo sin modificar, reaparecía el popup con la versión en conflicto, pero si el archivo había sido editado o se siguió trabajando con una copia, puede que eso no ocurra
- Ocultar los conflictos de versiones puede parecer una decisión amigable para el usuario, pero eso también puede hacer que la pérdida de datos no se descubra hasta años después, cuando se vuelva a abrir un documento importante
- Hasta que iCloud Drive exponga los conflictos de versiones en el sistema de archivos o en una ubicación central de fácil acceso, es más seguro sacar los datos importantes de iCloud Drive
- Para los archivos que deban permanecer en iCloud Drive, se está creando Cloud Cub, que detecta y resuelve conflictos de sincronización ocultos
1 comentarios
Opiniones de Hacker News
Me pasó algo parecido: en Notes del iPhone de mi esposa estaba activada la sincronización en la nube y, como pensé que no hacía falta, la desactivé; entonces mi esposa me dijo: “¿Dónde están todas mis notas? ¿Qué hiciste?”
Me dio un sudor frío, pero recordé que había un iPad con la app Notes sincronizada, así que lo abrí de inmediato y apagué el WiFi para “preservar” las notas.
Llamé a Apple, y la persona de soporte encontró una forma de evitar que se borraran: copiar y pegar cada nota en una carpeta nueva.
Fueron varias horas bastante estresantes, y creo que Apple debería haber dado más advertencias o pop-ups sobre el impacto completo de una acción así.
Además, me enteré de que soporte técnico de Apple básicamente puede conectarse al teléfono como con “VNC”, ver la pantalla y cambiar configuraciones. Creo que pidieron permiso y presioné “aprobar”, pero hasta verlo en acción ni sabía que existía esa función.
Y además lo hicieron aunque la causa parecía ser un error del propio usuario. Mi empresa paga mucho dinero por productos de Google, pero es muy poco probable que Google ayude por teléfono con algo así.
Antes he hablado con un representante por cosas como control de acceso, pero si les pidiera ayuda porque desaparecieron notas de Keep, siento que me contestarían, cortésmente, que me fuera al diablo. De hecho, las notas de Keep también desaparecen a veces.
Me parece que el problema de tu esposa estuvo más del lado de la persona que administró el dispositivo iOS que de Apple.
Estoy de acuerdo un millón de veces. Pero esto no parece ser un problema exclusivo de iCloud, sino una tendencia fundamental de todo el software de Apple.
Me pasa repetidamente también al resaltar PDFs en Books. A veces vuelvo a abrir un PDF y varias páginas que resalté recientemente ya no están.
Mientras trabajo parece que se va guardando todo el tiempo, pero por alguna razón desconocida decide que la versión de las 11:35 es la versión principal más reciente, no la de las 11:45.
El problema de que Apple sobrescriba silenciosamente contenido nuevo con una versión vieja lleva al menos 10 años.
No entiendo cómo una falla crítica así llegó al sistema en primer lugar y cómo todavía no la han corregido.
Es gratis y tiene licencia BSD, pero hay que recordar que, si quieres ver los cambios en otras apps, tienes que exportar el PDF con las anotaciones incluidas.
Si estás cansado del fondo anaranjado de Apple que mata el contraste o de no tener un resaltador amarillo de verdad, vale la pena probarlo. No tengo relación con el proyecto; solo agradezco que exista.
https://skim-app.sourceforge.io/
En hardware, también recuerdo que eliminaron de forma bastante brutal los disquetes, las unidades ópticas y hasta arquitecturas completas de CPU tres veces.
En iCloud, esa actitud parece aplicarse también a los archivos. No digo que todo sea malo, pero mientras más envejezco, más se aleja de mis gustos.
El autor sugiere usar git, pero git no se lleva bien con iCloud Drive.
Antes tenía cientos de repositorios git en iCloud Drive y, cuando hacía un commit grande, todo iCloud Drive, de cientos de GB, se volvía a sincronizar con los servidores de Apple y tardaba un día.
Escalé el caso con soporte de Apple hasta un nivel bastante alto para intentar resolverlo, pero nunca se solucionó. Ahora mantengo los repositorios git fuera de iCloud Drive.
Parece que esto se activa si cambias rápidamente y al mismo tiempo cientos de archivos antes de que termine de sincronizarse el último cambio grande.
No combinan bien, y en especial si hay varios dispositivos sincronizados con la misma unidad en la nube, hay espacio para toda clase de comportamientos raros e inesperados.
El problema es que una app que necesito usar no soporta ningún otro método de sincronización, así que para algunos archivos importantes tengo que usar iCloud Drive.
Sin git, ni siquiera habría podido averiguar qué archivos cambiaron. Incluso con git, no puedo estar seguro de haber detectado todo. Me parece posible que un conflicto de sincronización de iCloud también pueda cambiar el contenido de git.
No será ideal para datos muy grandes, pero la mayoría de las cosas que están en iCloud Drive y que quiero versionar de forma agresiva son texto o archivos pequeños, así que tener dos copias casi no pesa.
[1] https://github.com/anishathalye/git-remote-dropbox
Una razón más importante para no usar iCloud Drive es que el cifrado de extremo a extremo no viene activado por defecto.
Todo lo que guardes ahí puede ser leído por administradores de sistemas de Apple, personal de soporte y personas que puedan exigirle datos a Apple, como el gobierno de EE. UU., que hoy incluso puede hacerlo sin orden judicial.
Es mejor no usar servicios que no tengan cifrado de extremo a extremo.
Ahora iCloud sí tiene cifrado de extremo a extremo opcional, pero viene desactivado por defecto y está enterrado en la configuración, así que casi nadie lo usa.
Yo uso Syncthing para mantener mis archivos en todos mis dispositivos. Tiene cifrado de extremo a extremo, es software libre y maneja los conflictos y las copias de versiones de forma razonable.
También admite dispositivos no confiables dedicados solo a sincronizar que nunca pueden ver el texto plano, así que puedes tener nodos de forma segura en un VPS o en una ubicación externa.
Convencer a amigos o familiares de tocar dos menús para activarlo es fácil, pero convencerlos de instalar y configurar Syncthing en varios dispositivos no lo es.
Está bien defender Syncthing, pero decir que iCloud Drive es malo porque no activa por defecto una configuración con la que un usuario promedio podría perder todos sus datos si pierde la clave resulta un poco ridículo.
Te aseguro que tu abuela preferiría mucho más poder llamar a Apple cuando olvide su contraseña y recuperar las fotos del pequeño Johnny, que tener algo más seguro por defecto.
Yo también quisiera activar el cifrado de extremo a extremo, pero no confío en mí mismo lo suficiente como para no perder la clave.
No es como en mensajería, donde la otra persona también tiene que activar el cifrado de extremo a extremo.
https://support.apple.com/en-ca/HT212520
A mí también me molestó bastante esto. Tenía mi biblioteca de Calibre en la carpeta Documents. ¿Dónde más la iba a poner, si además incluía respaldo gratuito?
Pero hace poco descubrí que varias carpetas de libros dentro de la biblioteca estaban vacías, aunque deberían contener los archivos epub reales.
La estructura de directorios y las entradas de la base de datos estaban ahí, pero habían desaparecido solo los archivos de libros. No todos: aproximadamente un 40% al azar.
La conclusión es que no guardes en iCloud Drive nada que te importe, especialmente libros.
Sobre la parte que dice: “Si abres un archivo en un editor que admite manejo de conflictos, aparece una ventana emergente preguntando qué versión conservar. Los editores sin manejo de conflictos, como Textifier, Xcode u Obsidian, dejan que iCloud decida qué versión guardar en el disco y en la copia de seguridad”, creo que parte de la responsabilidad también recae en los desarrolladores de apps que agregaron soporte para iCloud sin añadir un mecanismo de manejo de conflictos.
Pero ¿por qué Xcode, que es una app de la propia Apple, no admite manejo de conflictos? El software de Apple debería marcar el estándar para los desarrolladores externos.
Si Apple tampoco maneja los conflictos de versiones, es natural que otros desarrolladores tampoco lo hagan.
Puedes perder contenido incluso usando un editor que admita manejo de conflictos.
Si suponemos que escribes algo, lo guardas, cierras el editor y no vuelves a abrirlo, iCloud puede reemplazar el contenido de ese archivo y no hay forma de que el usuario se entere.
La única manera de no perder datos es crear un repositorio Git o abrir periódicamente todos los archivos importantes en un editor que admita manejo de conflictos.
Esto no es un bug de Xcode, es un bug de iCloud.
Si pones archivos en iCloud Drive, el iPhone puede eliminar la copia local en cualquier momento.
Si quieres sincronizar archivos y a la vez estar 100% seguro de que existe una copia local, tienes que tener el mismo archivo tanto en iCloud Drive como en la carpeta “En mi iPhone”.
Por eso Apple Books, Numbers y todas las apps que usan iCloud Drive siguen eliminando copias locales.
Creé una app sencilla de notas que usa iCloud Drive, y cuando cerraba la app iCloud eliminaba con avidez incluso archivos txt de 2 KB. A veces no los borraba, así que era bastante aleatorio.
No importa que tengas mucho espacio de almacenamiento libre; iCloud también puede eliminar la versión local de archivos que usas constantemente.
El soporte para desarrolladores de Apple dijo que no podían hacer nada. Ni siquiera los desarrolladores tienen una forma de marcar que un archivo nunca debe eliminarse.
En la documentación oficial, Apple de hecho recomienda guardar todos los archivos del usuario en iCloud Drive y no dejar copias en “En mi iPhone”.
Tuve un problema parecido con contactos que desaparecían. Pasó durante un tiempo, pero al principio pensé que era error mío.
Una mañana vi que había desaparecido el contacto de un amigo con quien había estado mensajeándome la noche anterior, y me di cuenta de que el problema era iCloud.
Contacté al soporte de Apple y, después de probar todas las indicaciones básicas, el representante admitió que era un problema conocido, pero que no habían encontrado la causa raíz ni tenían solución.
Me pidió que monitoreara los contactos para saber cuándo ocurría la eliminación, pero dijo que necesitaba darle un rango de unos pocos minutos.
La razón fue que “el iPhone genera muchos registros, así que si no pueden señalar exactamente cuándo ocurrió, los ingenieros no pueden revisarlo”.
Yo pensé que acotar el bug a un rango de 8 horas ya era bastante razonable, pero el representante dijo que eso era lo que habían dicho los ingenieros y exigió una precisión de minutos.
Al final, como siempre que le paso un problema difícil al soporte de Apple, el representante dijo que me contactaría de nuevo, pero nunca volvió a llamar y no pasó nada.
Moví mis contactos a Google y simplemente lo olvidé.
Revisé este problema. Apple, para no molestar demasiado a los usuarios con conflictos, eligió una estrategia de sincronización que pierde datos del usuario bajo ciertas condiciones
Es decir, decidió no usar técnicas mucho más antiguas que habrían podido conservar las revisiones en conflicto
El resumen está aquí
https://www.youtube.com/watch?v=q8k1q6kf1W0
Así la gente habría podido buscar “¿qué hizo Apple con mis archivos?” y encontrar cómo recuperarlos
Ya que hablamos de no interrumpir, en alguna actualización iOS cambió silenciosamente mi configuración de llamadas e hizo que el teléfono no sonara para algunos remitentes
Era una especie de función basura para calmar la mente, pero como por la naturaleza del NHS es difícil que te vuelvan a llamar, me causó mucha ansiedad perder una llamada de un cirujano oncológico
En mi caso, iCloud Drive a veces simplemente no se sincroniza y se queda trabado en algo. Se puede ver el estado de sincronización en el ícono de iCloud Drive en Finder
Cerrar todas las apps de macOS e iOS y ejecutar
killall birda veces lo soluciona.birdes el servicio de sincronización de iCloud