How to Create “Add to Calendar” Link on Web Page for iPhone

末鹿安然 提交于 2019-12-18 12:56:24

问题


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.


回答1:


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).




回答2:


As of iOS 5, if you create a http link to an .ics file, Mobile Safari will offer to open it up in Calendar.




回答3:


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/



来源:https://stackoverflow.com/questions/1752342/how-to-create-add-to-calendar-link-on-web-page-for-iphone

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!