OS X funnies: It's the little things

p6_cover.gifI had a problem syncing my iPhone to iCal. Basically it wouldn’t let me clear out the syncing cache and I suffered many a missed appointment. So I did some searches, standard stuff, but gave up after a while until today. I did another search and found an Apple forum mention of a quick fix to completely clear out SyncServices, the thing that handles all syncing. It tells you to run a command-line Perl script. I ran it, the iPhone synced, and all was right with the world. Well, I wanted to check to see what was inside that script:

#!/usr/bin/perl
#
# usage: resetsync.pl [full]
# Copyright (c) 2007, Apple Inc. All rights reserved.
#

use SyncServices;
my $syncmgr = ISyncManager->sharedManager();
if($ARGV[0] eq “full”) {
# Completely reintializing sync state
$syncmgr->reallyResetSyncData();
}
else {
# Resetting sync history
$syncmgr->resetSyncData();
}

So if you type ‘full’ it really resets sync data. If you don’t, it just kind of waves its hand at the sync data and makes some lunch. Sneaky, sneaky, sneaky.