¿Puedo restaurar citas individuales de iCal usando Time Machine?

Uso Time Machine para hacer una copia de seguridad de mi Mac. Si bien es muy fácil restaurar archivos y carpetas, no puedo hacer lo mismo con las citas en iCal. Estoy tratando de recuperar un calendario completo que se eliminó accidentalmente.

Apple proporciona instrucciones sobre cómo restaurar desde archivos iCal exportados manualmente . De alguna manera anula el propósito de Time Machine, donde las copias de seguridad se crean automáticamente. Por el contrario, Time Machine funciona directamente en la libreta de direcciones de Lion.

¿Alguien sabe si hay alguna forma de restaurar las citas (o calendarios) de iCal usando Time Machine? Sé que probablemente pueda restaurar los archivos de calendario crípticos en la carpeta Biblioteca, pero quiero encontrar una mejor manera.

Respuestas (3)

Puede; implicará algo de trabajo de línea de comandos (que enumeraré pero no explicaré aquí):

  • Sal de iCal y Correo. Desconéctese de Internet si alguno de sus calendarios está conectado a la nube.
  • En Finder, abre<home>/Library/Calendars/
  • Ingrese a Time Machine y regrese a antes de que ocurriera la pérdida. Identifica el calendario que falta.
  • Aún en Time Machine, ingrese la carpeta de ese calendario. Hay una carpeta de Eventos aquí.
  • Restaure la carpeta Eventos en su escritorio (o en otro lugar, pero no la "restaure" simplemente en la biblioteca).
  • Sal de la máquina del tiempo.
  • Abra una terminal y vaya a la carpeta Eventos restaurada.
  • Concatene todos los archivos (hay uno por evento) en un archivo de eventos largo llamado <whatever>.ics.
  • Abra <whatever>.icscon su editor favorito e inserte estas 4 líneas en la parte superior del archivo:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//iCal 4.0.4//EN
CALSCALE:GREGORIAN

y esta línea al final del archivo:

END:VCALENDAR

y guarde el archivo.

  • Abre iCal e importa este archivo al nuevo calendario, que ahora debería contener tus eventos.
¡Suena genial! ¿Alguien podría agregar los comandos de terminal necesarios para hacer esto, por favor?

El procedimiento de JRobert me acercó hoy, pero no del todo con Mavericks e iOS 8. Parece que algunos formatos han cambiado desde esa respuesta.

Debe agrupar las líneas que sugiere agregar. Cada archivo los crea, y el archivo .ics resultante de la concatenación simple contendrá demasiados. Aproveché la mayor parte textualmente, pero lo usé ^PRODID:porque cada versión del calendario (iCal, Mac OS X) usaba una cadena diferente.

Cuando estuvo listo, usé un editor para agregar un PRODID más moderno al principio:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//Mac OS X 10.9.4//EN
CALSCALE:GREGORIAN

Al principio, ya dejo el texto para añadir al final el mismo.

Finalmente, debe volver a conectarse a Internet antes de importar. iCloud eliminaría las entradas después de importarlas con éxito después de la reconexión. Mantenerlo conectado convenció a iCloud de que deberían dejarse en el calendario.

Todavía no tengo idea de cómo se eliminó el calendario. Ocurrió un par de días antes del lanzamiento de iOS 8, y no fue algo que noté que sucediera.

¡Suena genial! Sería genial si esta fuera una respuesta independiente que incluyera los comandos de terminal necesarios para hacer esto...

Le hice la misma pregunta al personal de Apple Store, quien consultó con un Genio. A partir de Mountain Lion, todavía no es posible acceder a Time Machine a través de iCal/Calendar. En otras palabras, la única solución es restaurar manualmente las entradas eliminadas de los archivos sin procesar de iCal/Calendar (ubicados en ~/Library) usando Time Machine.

Hay una discusión relacionada sobre las comunidades de soporte de Apple:

La persona con la que hablé también me recordó que apagara iCloud antes de intentar el procedimiento de restauración, ya que puede dañar los calendarios existentes.