Crash di iCal ad ogni avvio: disavventura e soluzione

iCalDa qualche giorno è successo un bel pasticcio in zona.
Mi ero felicemente organizzato in modo da sincronizzare iCal con Google Calendar grazie a Spanning Sync e Google Calendar con Outlook grazie a gSyncit.

Poi qualcosa è andato storto.
Una sincronizzazione errata di Spanning Sync ha causato decine di appuntamenti duplicati, copiati poi su Outlook... una strage!
Come se non bastasse, l'indice di iCal si è corrotto ed irrimediabilmente ad ogni avvio, dopo un paio di secondi, iCal crashava inesorabilmente.

Ripristinata la normale situazione per gli appuntamenti, restava il problema di iCal, praticamente inutilizzabile.
Se provate ad eseguire una ricerca online troverete che si tratta di una situazione molto comune: iCal è assolutamente molto propenso ad andare in crash all'avvio a causa di un indice corrotto.

Le soluzioni a questo problema sono tante... troppe!
Nel mio caso nessuna ha funzionato. A nulla è valsa:

  • La cancellazione manuale delle cartelle in ~/Library
  • La cancellazione manuale di cartelle e cache
  • Il reset di iSync
  • La reinstallazione di iCal

Ognuno di questi è uno step necessario ma, sfortunatamente, se anche solo uno di questi step non viene eseguito, al nuovo avvio non troverete altro che un iCal in uno stato ancora peggiore di prima.
Per quanti si sono trovati, si trovano o si troveranno nella mia stessa soluzione, ecco come ho risolto.

Prima di procedere assicuratevi di avere con voi il CD di Installazione di Mac Os X, contenente iCal.

  1. iCal funziona? Per prima cosa assicuratevi che iCal funzioni in un profilo corretto. Create un nuovo account utente dal pannello di amministrazione ed accedete con quell'account. Avviate iCal e, se il programma si avvia correttamente, è un punto a vostro favore. In caso negativo non disperate, la reinstallazione di iCal potrebbe risolvere il problema.
  2. Scaricate il programma AppDelete, è un software eccellente per cancellare un programma e tutti i file, database e preferenze a lui associati.
  3. Avviate AppDelete e trascinate l'icona di iCal nel cestino di AppDelete e confermate la cancellazione.
    In pochi secondi il programma rimuoverà ogni traccia di iCal.
  4. Per sicurezza, accertatevi che nelle cartelle ~/Library/Application Support, ~/Library/Caches e ~/Library/Preferences non ci siano cartelle con il nome iCal o Calendar.
    In tal caso rimuovetele.
  5. Cancellate il database di iCal sotto ai servizi in sincronizzazione.
    Il database lo trovate nella cartella ~/Library/Application Support/SyncServices/Local/clientdata. All'interno troverete diverse cartelle con un nome tipo 0063006f006d002e006d006900630072006f0073006f00660074002e0065006e0074006f00750072006100670065. Cercate quella dove il file clientname.txt è com.apple.iCal e cancellate tutto eccetto il file clientname.txt.
  6. Riavviate il computer. E' un passo essenziale, poiché alcuni dati di iCal risiedono in memoria ed il reset del programma potrebbe non andare a buon fine.
  7. A questo punto, se avete il CD di installazione di iCal saltate questo step. In alternativa, dalla cartella nel cestino creata da AppDelete recuperate la cartella iCal.app, ovvero il programma iCal.
    Questa operazione è rischiosa poiché se ad essersi corrotto è il programma, in questo modo non risolverete il problema. Procedete in questo modo solo se il test iniziale (1.) ha dato esito positivo.
  8. Riavviate il programma iCal e... buona fortuna!