1.這個(gè)是主要的方法添加事件到日歷
1.參數(shù)一:事件名稱(chēng)
2.參數(shù)二:開(kāi)始時(shí)間
3.參數(shù)三:結(jié)束時(shí)間
4.參數(shù)四:位置
+ (void)AddEventCalender:(NSString*)aEvent startDate:(NSDate*)startDate endDate:(NSDate*)endDate location:(NSString *)location
{
BOOL addEvent = [self getEventCalenderWithEventTitle:aEvent startDate:startDate];
if (addEvent) {
return;
}
EKEventStore *eventDB = [[EKEventStore alloc] init];
[eventDB requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted,
NSError *error) {
// handle access here
EKEvent *myEvent = [EKEvent eventWithEventStore:eventDB];
myEvent.title = aEvent;
//這個(gè)參數(shù)設(shè)置為NO,表示不是全天,YES為全天
myEvent.allDay = NO;
myEvent.startDate = startDate;
myEvent.endDate = endDate;
myEvent.location = location;
[myEvent setCalendar:[eventDB defaultCalendarForNewEvents]];
NSError *err;
[eventDB saveEvent:myEvent span:EKSpanThisEvent error:&err];
}];
}
2.用來(lái)判斷是否已經(jīng)添加到日歷了
+(BOOL)getEventCalenderWithEventTitle:(NSString *)eventTitle startDate:(NSDate *)startDate{
EKEventStore* eventStore = [[EKEventStore alloc] init];
NSDate* ssdate = [NSDate dateWithTimeIntervalSinceNow:-3600*24*90];//事件段,開(kāi)始時(shí)間
NSDate* ssend = [NSDate dateWithTimeIntervalSinceNow:3600*24*90];//結(jié)束時(shí)間拟赊,取中間
NSPredicate* predicate = [eventStore predicateForEventsWithStartDate:ssdate
endDate:ssend
calendars:nil];//謂語(yǔ)獲取或南,一種搜索方法
NSArray* events = [eventStore eventsMatchingPredicate:predicate];//數(shù)組里面就是時(shí)間段中的EKEvent事件數(shù)組
for (EKEvent *event in events) {
if ([event.title isEqualToString:eventTitle] && [event.startDate isEqualToDate:startDate]) {
return YES;
}
}
return NO;
}