EKEventStore的使用

作者: 26b5cc676194 | 来源:发表于2017-04-25 10:37 被阅读831次

使用EventKit获取日历事件,并往日历里面同步事件

首先要在plist里面添加Privacy - Calendars Usage Description键值对

添加工具类方法【将NSString转NSDate】

  • (NSDate *)dateFromString:(NSString *)dateString
    {
    //设置转换格式
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateFormat:@"yyyy-MM"];
    NSDate *date=[formatter dateFromString:dateString];
    return date;
    }

获取日历事件

EKEventStore *store = [[EKEventStorealloc] init];
[store requestAccessToEntityType:EKEntityTypeEventcompletion:^(BOOL granted, NSError error) {
if(granted){
NSDate
startDate = [ViewControllerdateFromString: @"2017-01"];//事件段,开始时间

        NSDate* endDate = [ViewControllerdateFromString: @"2018-01"];//结束时间,取中间
        
        
        NSPredicate *fetchCalendarEvents = [store predicateForEventsWithStartDate:startDate endDate:endDate calendars:nil];
        
        NSArray<EKEvent *> *eventList = [store eventsMatchingPredicate:fetchCalendarEvents];
        NSArray<EKEvent *> *events = [eventList filteredArrayUsingPredicate:[NSPredicatepredicateWithBlock:^BOOL(EKEvent * _Nullable event, NSDictionary<NSString *,id> * _Nullable bindings) {
            return event.calendar.subscribed;
        }]];

        
        NSLog(@"events:<<<<<<<<<<<<%@>>>>>>>>>>>",events);
        
        
        NSMutableArray * marr_events_title=[[NSMutableArrayalloc]init];
        //节日
        for (EKEvent *event in events) {
            if (event.title) {
                Event_Model * model=[[Event_Modelalloc]init];
                model.title=event.title;
                model.lastModified=[ViewControllerstringFromDate:event.startDate];
                [marr_events_title addObject:model];
            }
        }
        
        NSLog(@"marr_events_title:<<<<<<<<<<<<%@>>>>>>>>>>>",marr_events_title);

        
        
        
    }
}];

将数组打印出来

我们根据需求来获取相应的信息

代码链接:https://git.oschina.net/VanCamp/EKEventStore.git

相关文章

网友评论

本文标题:EKEventStore的使用

本文链接:https://www.haomeiwen.com/subject/ijtvzttx.html