订阅网址以在ical中添加活动

时间:2013-03-08 11:06:01

标签: iphone ios

我想使用eventkit将我服务器中的事件添加到ical中。我可以以编程方式订阅网址,以便所有活动都可以在应用程序中自动同步。

1 个答案:

答案 0 :(得分:1)

Synchronization is done from your side (Inside objective "c"). You need to fetching all events from server after hitting appropriate URL.
Parse it and save single event with the help of below method:  

-(void)addingEvents{

    EKEventStore *eventStore = [[EKEventStore alloc] init];

    EKEvent *event  = [EKEvent eventWithEventStore:eventStore];

    event.title     = <<Event Title>>;

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat: @"yyyy-MM-dd hh:mma"];
    [dateFormatter setTimeZone:[NSTimeZone systemTimeZone]];
    NSString *strDate = [dateFormatter stringFromDate:<<Your event date>>];

    NSDate *startDate = [dateFormatter dateFromString:strDate];

    [dateFormatter release];

    event.startDate = [[NSDate alloc] initWithTimeInterval:0 sinceDate:startDate];
    event.endDate   = [[NSDate alloc] initWithTimeInterval:600 sinceDate:event.startDate];
    NSArray *alertArray = [NSArray arrayWithObject:[EKAlarm alarmWithRelativeOffset:-300]];
    event.alarms = alertArray;

    [event setCalendar:[eventStore defaultCalendarForNewEvents]];
    NSError *err;
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err];  
    if (err) {
        NSLog(@"Error occured : %@",[err localizedDescription]);
    }
    [eventStore release];

}