如何在iOS中以编程方式检查日历订阅的ics feed

时间:2016-03-14 18:48:45

标签: ios swift icalendar

当您尝试订阅已订阅的ics Feed时,它会给出:

alert

我尝试订阅此代码:

    UIApplication.sharedApplication().openURL(NSURL(string: "webcal://mlb.am/tix/yankees_schedule_full")!)

我想以编程方式检查是否已经订阅了ics feed,因此我可以阻止此警报。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

差不多用了2个星期才找到解决方案。

   func checkICS() {
   let eventStrore = EKEventStore()
   eventStrore.requestAccessToEntityType(EKEntityType.Event) { (granted, error) -> Void in

   let allCalendars = eventStrore.calendarsForEntityType(EKEntityType.Event)

   for currentCal : EKCalendar in allCalendars {
                if (currentCal.type == EKCalendarType.Subscription && currentCal.title == "<Your ICS String>") {
                    print("Already Subscribed")
                    flag = true
                }
            }
            if (flag == false) {
                self.addICSSubscription()
            }
        }
   }