2015-08-08 3 views
10

Я интересно, если есть кто-то, кто знает, как запустить календарь с конкретным событием из APPКак открыть календарь с событием - NSURL calshow:

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

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

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

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

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

ответ

8

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

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

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

gotoAppleCalendar(event.startDate) 

Этот открытый календарь яблоко показывая дополнительное событие

+0

добавил событие? Вы не добавляете событие в календарь с этим кодом ... – duhseekoh

+0

@duhseekoh Эта функция НЕ предназначена для добавления события в календарь, для открытия и события, ранее добавленного –

0

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

Который, сбивает с толку, когда вы ищете, как добавить событие календаря на Google, и вы получите ответ, который говорит, «добавил событие»

Смежные вопросы