起初,我知道这种方法没有公共API。
从iOS8本机日历窗口小部件中点击事件会启动包含特定事件的日历。所以,我可以猜测必须有一个URL方案。由于小部件和日历适用于每个沙箱,因此,必须使用NSURL
。
我从iPhoneDevWiki.net找到了一些线索。
它说calshow:x?eventid=id
是一个打开特定事件的URL方案,由SpringBoard
使用。
由于id
param的值未明确描述,
所以,我用以下方法测试了这个url方案:
EKEvent.calendarItemIdentifier
EKEvent.externalCalendarItemIdentifier
EKEvent.eventIdentifier
他们都没有工作。
维基可能已经过时了。
是否有人可以使用原生日历打开或显示特定事件?
我从similar questions in Stack Overflow找到了另一条线索。
calshow:
计划。
它似乎用于具有特定日期的打开日历。它可以用作calshow:[time interval since reference date]
,参考日期似乎是1/1/2001
它可用于显示事件而不是打开事件。但是,当日历未在后台运行时,此方法也不起作用。
我还发现x-apple-calevent
计划也可以启动日历,但我根本不知道细节(路径和参数)。
任何线索和意见都会受到欢迎。
Best Regars。