//獲取日歷事件
EKEventStore* eventStore = [[EKEventStorealloc] init];
NSDate* ssdate = [NSDatedateWithTimeIntervalSinceNow:-3600*24*90];//事件段,開始時間
NSDate* ssend = [NSDatedateWithTimeIntervalSinceNow:3600*24*90];//結束時間,取中間
NSPredicate* predicate = [eventStore predicateForEventsWithStartDate:ssdate
endDate:ssend
calendars:nil];
NSArray* events = [eventStore eventsMatchingPredicate:predicate];//數組里面就是時間段中的EKEvent事件數組
//往日歷寫事件
EKEvent *event = [EKEventeventWithEventStore:eventStore];
NSDate *startDate = [[NSDate alloc] init];
NSDate *endDate = [[NSDate alloc] init];
event.title = @"New event test ";
event.startDate = startDate;
event.endDate = endDate;
event.location = @"北京市,海淀區";
//添加提醒
[event addAlarm:[EKAlarmalarmWithRelativeOffset:60.0f * -60.0f * 24]];
[event addAlarm:[EKAlarmalarmWithRelativeOffset:60.0f * -15.0f]];
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
__block NSError *err;
//ios 6以后
if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) {
[eventStore requestAccessToEntityType:EKEntityTypeEvent
completion:^(BOOL granted, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (granted) {
[eventStore saveEvent:event span:EKSpanFutureEvents commit:YES error:&err];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Event Created"
message:@"Yay!?"
delegate:nil
cancelButtonTitle:@"Okay"
otherButtonTitles:nil];
[alert show];
} else {
NSLog(@"不允許訪問日歷");
}
});
}];
} else {
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
}