URL scheme for opening native calendar with specif

2020-07-02 12:22发布

问题:

At first, I knew there is no public APIs for this approach.


Tapping an event from iOS8 native calendar widget launches calendar with specific event. So, I can guess that there must be a URL scheme for it. Because widget and calendar works on each sand box, So, the NSURL must be used.


I found a some clues from iPhoneDevWiki.net. It says that calshow:x?eventid=id is an URL scheme that opens specific event, and it is used by SpringBoard.

Since the value of the id param is not described clear, So, I have tested this url scheme with:

  • EKEvent.calendarItemIdentifier
  • EKEvent.externalCalendarItemIdentifier
  • EKEvent.eventIdentifier

None of them did work.

The wiki may be outdated.

Is there anyone who could opens or reveal the specific event with native calendar?


And I found another clue from similar questions in Stack Overflow.

The calshow: scheme.

It seems to used for open calendar with specific date. It can be used as calshow:[time interval since reference date], the reference date seems to 1/1/2001

It can be used to reveal an event rather than opens it. However, when the calendar is not running on background, This approach also not works.


And I also found that the x-apple-calevent scheme can launches calendar also , But I don't know the details(path and params) at all.


Any clues and opinions will be welcomed.

Best Regars.