起初,我知道这种方法没有公共API.
从iOS8本机日历窗口小部件中点击事件会启动具有特定事件的日历.所以,我可以猜测必须有一个URL方案.因为小部件和日历适用于每个沙箱,所以NSURL必须使用.
我从iPhoneDevWiki.net找到了一些线索.它说这calshow:x?eventid=id是一个打开特定事件的URL方案,它被使用SpringBoard.
由于idparam 的值没有明确描述,所以,我测试了这个url方案:
EKEvent.calendarItemIdentifierEKEvent.externalCalendarItemIdentifier EKEvent.eventIdentifier他们都没有工作.
维基可能已经过时了.
是否有人可以使用本机日历打开或显示特定事件?
我在Stack Overflow中找到了类似问题的另一条线索.
该calshow:计划.
它似乎用于具有特定日期的打开日历.它可以用作calshow:[time interval since reference date],参考日期似乎是1/1/2001
它可用于显示事件而不是打开它.但是,当日历未在后台运行时,此方法也不起作用.
而且我还发现该x-apple-calevent方案也可以启动日历,但我根本不知道细节(路径和参数).
任何线索和意见都将受到欢迎.
最好的Regars.
我已经能够使用该calshow:x?eventid=id方案
xeventid我已经能够使用这些参数在模拟器上打开事件详细信息calshow:685409700?eventid=99。
正如您所看到的,日期信息是从 推断出来的,timestamp在本例中错误地显示感恩节是 9 月 21 日
降低eventid到1、2、 至少20公开联系人相关信息,例如使用calshow:685409700?eventid=1将其调出
使用非数字 ID 或高于 200 的数字似乎不起作用,它们只是打开特定时间戳的日视图
该eventid参数似乎使用一些数字索引而不是实际的事件/日历项目标识符
我意外地设法使 url 方案匹配某些内容,因为id我尝试使用开头16,所以我猜它被解析为数字16
我还能够通过使用eventidBetween100和来匹配从我的应用程序创建的一些事件150
除此之外我不知道映射到id什么eventid
| 归档时间: |
|
| 查看次数: |
2014 次 |
| 最近记录: |