swift - 如何打开带有事件的日历 - NSURL calshow :

标签 swift nsdate nsurl eventkit

我想知道是否有人知道如何从 APP 启动带有特定事件的日历

我做了一些研究,并提出了两种使用 NSURL 从应用程序内部打开 native 日历的方法

  1. “calshow://” 在当前日期打开日历
  2. "calshow:\(someNSDate.timeIntervalSinceReferenceDate)" 打开日期为 someNSDate
  3. 的日历

我还找到了this websitecalshow:x?eventid=id 列为 url 但我不确定这是否有效(列为非公开)并且我自己无法正常工作,尝试使用:

event.calendarItemExternalIdentifier
event.eventIdentifier
event.calendarItemIdentifier

目前我正在使用此代码在 finalInterval 日期、事件日期打开日历应用程序

        if let day = hackathon?.start {

            let today = NSDate()
            let timeSince = NSDate.timeIntervalSinceReferenceDate() // this plus
            let todayToFutureDate = day.timeIntervalSinceDate(today)
            let finalInterval = todayToFutureDate + timeSince

            UIApplication.sharedApplication().openURL(NSURL(string: "calshow:\(finalInterval)")!)
        }

我想做的是打开带有事件 ID 或类似事件的日历

如果您对更多信息有任何疑问,请尽管提问,我会在附近

最佳答案

试试这个,创建这个函数

func gotoAppleCalendar(date: NSDate) {
  let interval = date.timeIntervalSinceReferenceDate
  let url = NSURL(string: "calshow:\(interval)")!
  UIApplication.sharedApplication().openURL(url)
}

使用事件开始日期作为参数调用函数

 gotoAppleCalendar(event.startDate)

这将打开显示添加事件的苹果日历

关于swift - 如何打开带有事件的日历 - NSURL calshow :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31897199/

相关文章:

ios - 无法从 NSString 创建 NSUrl 总是得到 nil

ios - 如何从 iOS 应用程序在 viber、Facebook Messenger 和 Instagram 上分享文本?

swift - 绑定(bind)到 macOS 10.12 上的套接字时的 NSPOSIXErrorDomain

ios - 导航 UI 未使用 Xcode 9 更新

cocoa - 将 nsdate 保存到磁盘

ios - 在 Swift 上从 URL 加载/下载图像

pointers - 在 Swift 中,如何确定两个 UnsafePointer 是否引用同一内存?

ios - 检查 Auth0 idToken 是否过期

ios - 从 nstimeinterval 值中减去 1 小时

swift - 如何从日期选择器中删除时间?