iCal and iCloud

Dear Lazyweb, why is iCal only syncing one way?

I have heard of this "cloud" thing that all the kids are in to these days but I can't make it go.

When I add an event in iCal on my iPhone, it shows up on my iPad in a few minutes, and vice versa. When I add an event on my desktop, it shows up on both iPhone and iCal in a few minutes. But when I add events on either iPhone or iPad, they never show up on my desktop. That's, like, somewhat less than totally useful. What is going wrong here? I don't think I have any incorrect port-blocking, but who can tell...

Tags: , , , ,

20 Responses:

  1. Andrew Wilcox says:

    Your blog appears to have eaten my first comment, apologies if this is a duplicate.

    Are you a former MobileMe user, or did you sign up after it became iCloud?

    It's a tad confusing when you say "when I add events on either iPhone or iCal" -- ITYM iPad, not iCal. The only desktop client supported is iCal on Mac OS X.7, Lion. There is a big nasty hack to make it work on X.6 Snow Leopard, but I haven't tested that.

  2. JPXXX says:

    Your ports are fine. Here are two scenarios I see in the real world:

    1) Too many calendars in play. The iOS devices are likely dumping new events into a non-networked On My iPhone calendar. Go to Settings -> Mail, Contacts, Calendars -> Default Calendar and make sure it's actually putting new events on a networked calendar. (To destroy an On My iPhone calendar: go into Calendar, tap (Calendars), tap Edit and delete it)

    2) Corrupt calendar events. Throw five bucks at Calendar Cleaner http://itunes.apple.com/us/app/calendar-cleaner/id411372497?mt=12 and let it deal with it.

    I am nearly certain the answer is #1 though.

    • phuzz says:

      1) above proved to be the problem with some of our users as well.

    • jwz says:

      The new events seem to be in the right calendar on both devices. Anyway, if it was in some kind of "local only" calendar, it wouldn't sync from iPhone to iPad, right? And it does.

      • JPXXX says:

        Local-only On My iPhone/Mac calendars have always synced via a cable during an iTunes device sync.

        As of iOS 5.0 + iTunes 10.5, which has the ability to automatically round-trip sync On My iPhone calendars to On My Mac calenders via wifi.

        I am somewhat at a loss. Here's the quickest endgame:

        Salt an event on each device for today: "TEST IPAD" "TEST IPHONE" "TEST MAC" "TEST WEB".

        iPhone/iPad: Go into Settings -> Mail, Calendars, and Contacts and make absolutely sure we're only dealing with one Calendar provider. (what each account provides will be in small gray text)

        Mac: Go into iCal -> Preferences and do the same. Ensure it's not working out of a separate iCloud ID (aka Apple IDs)

        Web: Log in icloud.com and look at the Calendar "app". This is the server-side truth.

        Mac: Open the program Console and look at All Messages and search for "iCal" in the search box. Any sync drama will be reported here.

        If you can isolate the sync fuckage to a specific device: remove the configuration and re-add it.

        If THAT doesn't help and you suspect the calendar itself is poisoned, use Calendar Cleaner and sterilize it. There are methods to forcibly push a new sterilized calendar up into the cloud - that bridge can be crossed later.

        • jwz says:

          When I log in to icloud.com, I see "event added from iphone" and "event added from ipad" but do not see "event added from imac". This is the same thing I see on my iphone and ipad. On my imac, there's a 3rd event that hasn't synced. So, like I thought, iMac is not talking to iCloud. What daemon and/or ports does it use to do that talking?

          When I upgraded to the new iCal last month, there was something wonky with my calendar that was making tethered sync not work, so I exported the whole thing to an ICS file and re-imported it and that seemed to make it happy again. I assume that's the same thing that this "cleaner" extortionware does?

          • JPXXX says:

            Secure CalDAV is traditionally 8443/TCP - iCloud should be using the same. I am unaware of any daemon in play but OSX has a central CalendarStore engine that iCal is eating out of - so it is likely one exists.

            Your technique for backing up a single calendar to an .ICS and re-importing it is good and how it's done.

            Calendar Cleaner is not extortionware, it's fix-industry-braindamageware and it's $5. It can dedupe, wipe corrupted events, fix trailing whitespaces that cause issues with Google CalDAV, and (delightfully) delete all events prior to a given date. It works on both local and networked calendars.

            Beset direction forward: write down any unsynced events. Delete out the config in Mac iCal. Re-insert it. Ensure everything downloads and flows.

            The alternative is to fuck with the interior of iCal, and that isn't real pretty.

            • JPXXX says:

              Minor clarification: exporting and re-importing a calendar has never fixed a sync failure issue for me.

              Tethered sync takes an entirely different route through life, specifically through OSX SyncServices. That is a vast vast wasteland of failure. Click on the twirlydoo circle menu item to resolve any sync issues there. Option-click the circle menu item to reset it to scratch. But this shouldn't be relevant or used in the brave new cloud world.

        • jwz says:

          Oh, and nothing iCal-related in Console. Only one calendar provider on either mobile device.

  3. Rick C says:

    Not surprising, that. I've seen the same thing with Android. Bizarrely, I've seen Android phones that default new contacts to phone contacts, not Google contacts, which causes the same thing--they don't sync.

    You'd think that in both cases, the default would be the other way 'round.

  4. Ike says:

    I may be guessing context inappropriately here, but is this desktop where you're adding events in iCal the same desktop in your post about NRPE and DNS? If it's the same desktop, and that desktop is running MacOS 10.6.8, then it probably shouldn't be expected to work, since Apple currently appears to require MacOS 10.7.2 for iCloud, with only rumors that they may release an update to 10.6 for iCloud compatibility at some point.

    • jwz says:

      No, different machines, though they're both running 10.6.8.

      I haven't seen any written indication that I should not be able to expect my iCal to sync between a 10.6.8 desktop and my iPhone, so if you have a reference for that I'd like to see it.

      • Ike says:

        I got "Apple currently appears to require MacOS 10.7.2 for iCloud" from here:
        http://support.apple.com/kb/HT4759
        ...but I guess that's not quite the whole picture if things added in iCal under MacOS 10.6.8 are successfully propagated through the cloud to your iOS devices.
        I'd expect sync-with-a-cable to work just as it has before iCloud, just not sync-without-a-cable; I'm a little surprised to hear that it works in the iCal->iOS direction.
        Sorry, I'm stumped for now, though I'm curious what happens if you add an event via the iCloud interface -- whether that makes it onto your iCal.

        • jwz says:

          I dunno. When I select my iPhone or iPad in iTunes, the "Info" tab says, "Your calendars are being synced with iCloud over the air. You can also choose to sync calendars with this computer. This may result in duplicated data on your device."

          It's hard to interpret "Your calendars are being synced" as "Your calendars are not being synced, because you are running last year's OS."

          That may actually be the case, obviously -- but iTunes seems to be explicitly indicating that it thinks this is working.

          • Eric Will says:

            In the tabs in iTunes where it says that, it means the iPad/iPhone is using iCloud to sync the data. Do you have an iCloud prefpane? If not, you cannot use iCloud. I think you need 10.7.2 for iCloud. I'm using this with the same setup you're describing and the desktop side works just fine.

            The two prefpanes 10.7.2 added for me were "iCloudPref.prefpane" and "InternetAccounts.prefpane." They're labed "iCloud" and "Mail, Contacts & Calendars" in System Preferences, respectively.

            Here's some screenshots:

            System Preferences
            iCloud Preferences
            Mail, Contacts & Calendars

            Hope this helps.

            • Elusis says:

              Interesting - I'm in a similar position as Jamie, running Snow Leopard still but offered iCloud syncing on my phone. I don't have an iCloud tab in iTunes, bu t when the phone is plugged into my machine, there's a "back up to iCloud" button option on the summary page, and in theory I'm using some of my iCloud space for said backup. But I also have had trouble getting events to push to my iCal on my machine, though a couple of dupes sprang up and then disappeared again.

              More troublingly, I recently turned off some iCloud functions to try to save battery life (and since I'm stuck at Firefox 3.6.x due to work, I can't access the iCloud site anyway). Next thing I knew I had duplicates or even quads of all my contacts in my address book. So something was saved to iCloud, and pushed down to my desktop. But things are certainly not working as advertised. It would be nice, if Lion is required, if iTunes et al would stop offering me the bloody options.

              • Eric Will says:

                The options that show up in iTunes are because your DEVICE can use iCloud, but not so much your desktop. If you look at my post below where I pasted a link to a site that provides the iCloud server details, that might help you out. I have an old Mac running Tiger that can do the calendar and contacts using the CalDAV server.

                HTH

          • Eric Will says:

            Just as an FYI, I think you may be able to manually input the CalDAV and such information into iCal on 10.6, but I'm not sure. Here's a website with the applicable settings.