Force Subscribed Calendars to Sync to MobileMe
As Apple has conceded, the launch of the MobileMe online service was not without its issues. Even now, with most of the early glitches resolved, there are still some holes in the MobileMe functionality. One such hole has to do with OS X 10.5, iCal, subscribed calendars (such as these provided by Apple), and MobileMe synching. (Chris Breen covered other MobileMe synching issues in a recent Mac911 blog.)
Basically, depending on which machine holds the subscribed calendars, how you're synching those calendars, and to which devices they are being synched, you may find that your subscribed calendars fully sync, might sync only the calendar summary info but no events, or might not sync at all. Apple explains the various combination of possibilities in this tech support article. The article explains the rationale for not synching the subscribed calendars' events to MobileMe in 10.5:
When syncing subscribed calendars to MobileMe, the calendar information and settings for the calendar is synced, but all of the downloaded events are not. This is done to help streamline the syncing process with MobileMe, as it prevents syncing redundant information to other computers with an Internet connection.
While that's all well and good, it does nothing to help solve the problem: more than likely, you'd prefer to have your subscribed calendars on MobileMe (and hence, on your iPhone or iPod touch as well). While the tech support article offers some hope that syncing to iPhones and iPod touches may be forthcoming, here's a workaround that will let you see your subscribed calendars today on MobileMe, as well as on your iPhone or iPod touch.
In the Subscriptions section of iCal, click on the subscribed calendar that you'd like to sync with MobileMe, then choose File -> Export. When the Save dialog appears, name your exported file and pick a save location--this is a temporary file, so neither the name nor location are all that important. Now choose File -> Import, select Import an iCal File on the dialog that appears, then click Import. A standard Open dialog will then appear; navigate to the file you just exported, select it, and click Import. One final dialog will appear, asking you to choose a destination calendar for these imported events. Click the pop-up menu and choose New Calendar (at the very bottom), then click OK.
iCal will then import your subscribed calendar's events into a normal static calendar. You can rename this calendar in the sidebar, if you want--I've taken to prefacing these calendars with static-, so I know they're imports of subscribed calendars. (Although you can create a calendar group on your Mac to group all these calendars together, calendar groups are ignored on the iPhone/iPod touch, so you'll probably want to use a naming scheme of some sort as well.) As a final step, uncheck the subscribed version of the calendar on your Mac, so you don't see duplicate events.
The next time iCal syncs to the MobileMe cloud, your newly-static calendar will be synched. While this solution works, it's far from perfect, mainly because it turns dynamic information into static information. That's OK if all you want to get on your iPhone are a set of national holidays and your family's birthdays, as that data is (relatively) static anyway. But it's a bigger issue if you're synching, for example, a subscribed work calendar that displays upcoming team meetings that vary every week. You'll have to repeat this process any time your subscribed calendar is updated if you want those updates to sync back to MobileMe. If you're motivated, it's probably possible to write an Automator workflow to automate this task, though I'll admit I haven't tried that yet. (I have but one truly dynamic subscribed calendar, so it hasn't been a big problem for me.)
Hopefully Apple will figure out a way to allow subscribed calendars to seamlessly sync across all devices and connection methodologies. Until they do, though, I'm using this export-import trick as a workable solution to the problem.