起初,我知道这种方法没有公共 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
方案也可以启动日历,但我根本不知道细节(路径和参数)。
任何线索和意见都将受到欢迎。
最好的问候。