3 Replies Latest reply: Nov 26, 2012 2:13 PM by Randy Saunders
Randy Saunders Level 1 Level 1 (25 points)

I am using a Macbook Pro with 10.7.5 to sync my iPhone4S running IOS5.

 

My primary calendar is on an exchange server, for compatiblity with the less fortunate Windows users in my company.  I have Mac Outlook 2011 and iCal 5.0.3, and they are both fully online with the Exchange server and very happy about the state of the calendar.  My iPhone is a competely different matter.  I noticed that some of the calendar entries weren't on the phone, when I missed a meeting, and so I used the "During the next sync only, iTunes will replace the calendar stuff on the phone with info from this computer" checkbox.

 

The result is that the calendar on my iPhone is completely blank.

 

I've never made entries on the iPhone, I only use it to carry around a copy of the iCal calendar.  Now I have a full iCal calendar, and an empty iPhone.  I've deleted the calendar in iCal, and rebuilt it.  I've deleted the calendar on the iPhone, and resync'ed; no calendar.  I've tried the replace checkbox a couple of times.

 

What is wrong?  How can I fix it?  How can an iCal calendar not be syncable to an iPhone? No fancy iCloud stuff, I have a USB cable running between the Macbook and iPhone. This is an all-Apple system here, I always tell the poor unfortunate µSoft users that they wouldn't have their problems if they had a Mac.  Now I have Apple <=> Apple incompatibility?? 

 

/Randy


MacBook Pro, Mac OS X (10.6.8)
  • Randy Saunders Level 1 Level 1 (25 points)

    When I look in the console log, during a "reload the calendar" I see the following messages:

     

    Nov 26 14:03:26 ml2 AppleMobileSync[8591]: 8591:33034240|DeviceLinkConnection.c:_DLCheckVersionForConnect| ERROR: Connecting side determined that its DeviceLink protocol version is greater (connect: 300, accept: 100)

    Nov 26 14:03:30 ml2 iCalExternalSync[8592]: [ICalExternalSync ]Encountered exception: -[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: email) withStack: (

            0   iCalExternalSync                    0x0000000101272cba iCalExternalSync + 134330

            1   iCalExternalSync                    0x0000000101260d4a iCalExternalSync + 60746

            2   iCalExternalSync                    0x00000001012716ee iCalExternalSync + 128750

            3   iCalExternalSync                    0x0000000101253094 iCalExternalSync + 4244

            4   ???                                 0x0000000000000005 0x0 + 5

        )

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]: 2012-11-26 14:03:30.657 iCalExternalSync[8592:707] [ICalExternalSync ]Encountered exception: -[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: email) withStack: (

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]:     0   iCalExternalSync                    0x0000000101272cba iCalExternalSync + 134330

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]:     1   iCalExternalSync                    0x0000000101260d4a iCalExternalSync + 60746

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]:     2   iCalExternalSync                    0x00000001012716ee iCalExternalSync + 128750

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]:     3   iCalExternalSync                    0x0000000101253094 iCalExternalSync + 4244

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]:     4   ???                                 0x0000000000000005 0x0 + 5

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]: )

    Nov 26 14:03:30 ml2 iCalExternalSync[8592]: [ICalExternalSync ]NSException name:NSInvalidArgumentException reason:-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: email)

    Nov 26 14:03:30 ml2 com.apple.syncservices.SyncServer[8562]: 2012-11-26 14:03:30.658 iCalExternalSync[8592:707] [ICalExternalSync ]NSException name:NSInvalidArgumentException reason:-[__NSCFDictionary setObject:forKey:]: attempt to insert nil value (key: email)

     

    I don't read my exchange email on my iPhone, so why is it having this problem?  Why does having this problem prevent the rest of the calendar from synching?  What can I do about it??

     

    /Randy

  • Randy Saunders Level 1 Level 1 (25 points)

    OK, here are some things that DON'T WORK:

     

    Resetting SyncServices (which Apple says is dangerous) see: https://support.apple.com/kb/TS1627

     

    This thread , which is really about going the other way (iPhone => Mac).  It suggests deleting the contents of the UserName/Library/Calendars folder (after making Library visible for Lion users such as myself).  That's really quite effective at resetting the iCal part of the mix.  The first time you dump the trash you get a "file busy", but you can empty the trash after starting up a new (factory defaults) iCal.  Then you re-make your Exchange account and refresh it.

     

    All these things lead to where I started: Events in Outlook, matching Events in iCal, no user errors (though some console log gripes), and yet resync to iPhone leaves no calendar on the iPhone.

     

    Sad. 

     

    /Randy

  • Randy Saunders Level 1 Level 1 (25 points)

    Here is a semi-solution:

     

    These steps are probably dangerous and you MUST have a backup of your calendar on a nice, safe server to even consider this course of action.

     

    Phase I - Purge

    1) Disconnect the iPhone from the computer.

    2) On the iPhone, click "Calendars" and then "Edit"

    3) On the iPhone, Choose each calendar in turn, scroll down to the bottom and click "Delete Calendar", and confirm.  {Don't do this without a backup}

    4) On the computer, Close iCal.

    5) On the computer, throw the contents of UserName/Library/Calendars into the trash. {The /Library directory in your home folder is hidden to protect you from stuff that could hurt your Mac, be careful.}

    6) On the computer, empty the trash.  You might get an error about CalendarCache.

    7) On the computer, start iCal.  Without clicking in iCal, empty the trask again.

     

    Do Not attempt to connect your iCal to the exchange server.  This bit of Apple code supporting µSoft seems a little broken.

     

    Phase II - Multi-Sharing

    1) On the computer, open Outlook 2011 and click on the "Tools" tab.

    2) On the computer, Click on the Sync Services Button.  Check the box for Calendar and close the window.

    3) On the computer, Bring the iCal window to the front (iCal was running from step 7 above).

    4) Wait for the iCal calendar to populate.  Clicking on the Send/Recieve button in Outlook might speed this up, or it might simply keep you busy.  It takes quite a while.  You can also watch the /Library/Calendars folder fill up.  When Outlook hasn't said "sync pending on this folder" in a while, you are done.

     

    Now you have an iCal with all your Exchange events on it, and some piece of µSoft software attempts to keep them in sync.  This poses risks of it's own, caveat emptor.

     

    Phase III - Link in the iPhone

    1) On the computer, start up iTunes.

    2) Plug the cable into the iPhone.

    3) On the computer, quickly! click the x in the progress window, stopping the automatic sync.

    4) On the computer, open the Info tab,  scroll down to the bottom, and click on the box that says "During the next sync only, iTunes will replace ..." next to Calendar.

    5) On the computer, click Apply and/or Sync.

    6) Wait for the sync to complete.

     

    Success.  Now your iPhone and iCal and Outlook all agree.  Yes, both programs must be running to sync your iPhone; but that was the usual practice before. 

     

    This does not fix the Apple problem, or effectively work around it.  Rather it simply finds another path to the desired state.

     

    I'm still looking for a better solution, that doesn't involve multi-program collaboration.  Let me know if you find one.

     

    /Randy