16

起初,我知道这种方法没有公共 API。


从 iOS8 原生日历小部件中点击一个事件会启动带有特定事件的日历。所以,我可以猜测它必须有一个 URL 方案。因为小部件和日历适用于每个沙盒,所以NSURL必须使用。


我从iPhoneDevWiki.net找到了一些线索。它说这calshow:x?eventid=id是一个打开特定事件的 URL 方案,它由SpringBoard.

由于id参数的值没有描述清楚,所以,我测试了这个 url 方案:

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

他们都没有工作。

wiki 可能已过时。

有没有人可以使用本地日历打开或显示特定事件?


我从Stack Overflow 中的类似问题中找到了另一条线索。

calshow:计划。

它似乎用于具有特定日期的打开日历。可以当作calshow:[time interval since reference date], 参考日期好像是 1/1/2001

它可用于显示事件而不是打开它。但是,当日历不在后台运行时,这种方法也不起作用。


而且我还发现该x-apple-calevent方案也可以启动日历,但我根本不知道细节(路径和参数)。


任何线索和意见都将受到欢迎。

最好的问候。

4

0 回答 0