iCal, iSync, displayAlarms, so much hate
end tell.
So. iCal refuses to sync properly, saying:
2008-05-20 17:02:17:870|iCalExternalSync|945|10a640|Miscellaneous| SyncServices precondition failure in [ISyncInstrumentedSession pushChangesFromRecord:withIdentifier:]: you can't change the record's entity name from com.apple.calendars.DisplayAlarm to com.apple.calendars.AudioAlarm in {
"com.apple.ical.sound" = Basso;
"com.apple.syncservices.RecordEntityName" = "com.apple.calendars.AudioAlarm";
owner = (
"Event/p146"
);
sound = Basso;
triggerduration = -1200;
}
As far as I can tell, all my display alarms are FUBAR and need to be purged.
Violently.
And believe me I've tried every icbu backup/restore, synchrospector munging, pull the truth, sync forcing trick I can think of.
Applescript to the rescue:
tell application "iCal" repeat with myevent in every event in every calendar set dispAlarms to count of display alarms in myevent if (dispAlarms) > 0 then log "Found event with display events" log (get summary of myevent) log dispAlarms delete display alarms in myevent log (get count of display alarms in myevent) end if end repeat end tell
tell off corporation "Apple"
if (you can't let me recover from sync errors without writing applescript) then
castigate "Apple" with "You fail at life too."
end if
end tell off


