Как открыть календарь с событием - NSURL calshow:

Мне интересно, есть ли кто-то, кто знает, как запустить календарь с определенным событием из APP

Я провел некоторое исследование, и у меня есть два способа открыть собственный календарь из приложения, используя NSURL

  • "calshow://", который открывает календарь в текущую дату.
  • "calshow:\(someNSDate.timeIntervalSinceReferenceDate)", который открывает календарь с датой someNSDate

Я также нашел этот веб-сайт, который перечисляет calshow: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)")!)
        }

Что я хотел бы сделать, так это открыть календарь с идентификатором события или что-то вроде этого, которое покажет событие

Если у вас есть какие-либо вопросы для получения дополнительной информации, просто спросите, я буду рядом

Ответ 1

Попробуйте с этим, создайте эту функцию

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

Вызвать функцию, используя дату начала события в качестве параметра

 gotoAppleCalendar(event.startDate)

Откроется календарь яблока с добавленным событием

Ответ 2

Уверен, что я пытаюсь уточнить... вы сказали, что увидите "добавленное событие"... как если бы вы добавили событие с кодом, который вы написали, но вы этого не сделали.

Что, сбивает с толку, когда вы ищете, как добавить событие календаря в Google, и вы получите ответ, в котором говорится "добавленное событие"