Как открыть календарь с событием - 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, и вы получите ответ, в котором говорится "добавленное событие"