Many calendaring programs (Outlook, iCal) support vCal for downloading event information and adding it to your calendar. Others can use the vCalendar microformat to extract data. Neither of these, however, seems to be supported on the iPhone.
Is there any functional equivalent that will allow me to list event information on a page and have a website visitor add the event to her calendar with a single click? Since Mobile Safari makes it super-easy to extract emails and phone numbers from web pages, it seems odd that there's no similar functionality for events.
Update:
Note that this is a very old answer. Since iOS 5 you can use EKEventStore
to access calendar events and Mobile Safari will open .ics
files in Calendar.
Original Answer
It's not possible, there is no API for the calendar on the iPhone, sadly. You can build an app that registers for the ical URL scheme, but you still won't be able to save the calendar entries to the calendar backend since there is no API (like e.g. for the AddressBook).
As of iOS 5, if you create a http link to an .ics file, Mobile Safari will offer to open it up in Calendar.
One resolution could be (from iPhone OS 3.0):
- estabilish a calendar server (webdav or caldav protocol), create accounts, events...
- subscribe your iPhone Calendar to one of the accounts (eg. Settings->Mail, Contacts, Calendars->Add Account…->Other, Add CalDAV Account -> server, account details)
- your web based app posts calendar entries into the adequate calendar server account
Alternatively use Google Calendar to post entries from your website, which can be easily synched to iPhone Calendar using CalDAV.
Another usefull link: http://blog.fosketts.net/2009/06/17/subscribe-internet-calendars-iphone-30/