最重要 添加#import <EventKit/EventKit.h> 庫
EKEventStore *eventStore = [[EKEventStore alloc] init];
//請求使用用戶的日歷數據庫
if ([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)])
{
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (error){
//錯誤信息 這里顯示錯誤消息
}else if (!granted){
//被用戶拒絕,不允許訪問日歷 拒絕訪問顯示錯誤消息
}else{
// 數據訪問權限
// ***** 在這里做重要的事情 *****
//事件保存到日歷
//06.07 元素
//title(標題 NSString),
//location(位置NSString),
//startDate(開始時間 2016/06/07 11:14AM),
//endDate(結束時間 2016/06/07 11:14AM),
//addAlarm(提醒時間 2016/06/07 11:14AM),
//notes(備注類容NSString)
//創建事件
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title = @"測試寫入日歷事件";
event.location = @"北京海淀";
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setAMSymbol:@"AM"];
[dateFormatter setPMSymbol:@"PM"];
[dateFormatter setDateFormat:@"yyyy/MM/dd hh:mmaaa"];
NSDate *date = [NSDate date];
NSString * s = [dateFormatter stringFromDate:date];
DLog(@"%@",s);
//開始時間(必須傳)
event.startDate = [date dateByAddingTimeInterval:60 * 2];
//結束時間(必須傳)
event.endDate = [date dateByAddingTimeInterval:60 * 5 * 24];
// event.endDate = [[NSDate alloc]init];
// event.allDay = YES;//全天
//添加提醒
//第一次提醒 (幾分鐘后)
[event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -1.0f]];
//第二次提醒 ()
// [event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -10.0f * 24]];
//06.07 add 事件類容備注
NSString * str = ws.model.remark;
event.notes = [NSString stringWithFormat:@"%@",str];
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
DLog(@"保存成功");
//直接殺死進程
exit(2);
}
});
}];
}