android日历事件 简书,EventKit日历事件操作

@property (nonatomic, strong) EKEventStore *eventStore;//设置属性

//添加日程

- (void)addmyEventTitle:(NSString*)title Description:(NSString*)description Time:(NSString*)time {

EKEventStore*eventStore = [[EKEventStorealloc]init];

if([eventStorerespondsToSelector:@selector(requestAccessToEntityType:completion:)]) {

[eventStorerequestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError * _Nullable error) {

if(error) {

NSLog(@"添加失败...");

}elseif(!granted) {

NSLog(@"没有访问权限");

}else{

EKEvent*event = [EKEventeventWithEventStore:eventStore];

event.title= title;

event.location= description;//地址作为描述信息

//event.notes = description;

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

[formattersetDateFormat:@"HH:mm"];

NSDate*date = [formatterdateFromString:time];

//开始时间(必须传)

event.startDate= [datedateByAddingTimeInterval:0];

//结束时间(必须传)

event.endDate= [datedateByAddingTimeInterval:60*60];

//全天的事件

//event.allDay = YES;

//重复规则

EKRecurrenceRule *rule = [[EKRecurrenceRule alloc]initRecurrenceWithFrequency:EKRecurrenceFrequencyDaily interval:1 daysOfTheWeek:nil daysOfTheMonth:nil monthsOfTheYear:nil weeksOfTheYear:nil daysOfTheYear:nil setPositions:nil end:nil];

event.recurrenceRules=@[rule];

//添加提醒

//第一次提醒 设置事件开始之前5分钟提醒

[eventaddAlarm:[EKAlarmalarmWithRelativeOffset:-60.0*5]];

//第二次提醒 设置事件开始之前2分钟提醒

//                [event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -2.0f]];

//第N次提醒 设置事件提醒

//                [event addAlarm:[EKAlarm alarmWithRelativeOffset:秒]];

//添加事件到日历中

EKCalendar*clendar = [eventStoredefaultCalendarForNewEvents];

[eventsetCalendar:clendar];

NSError*err;

[eventStoresaveEvent:eventspan:EKSpanFutureEventserror:&err];

if(!error) {

NSLog(@"添加日程成功");

//保存事件id,方便查询和删除

[[NSUserDefaultsstandardUserDefaults]setObject:event.eventIdentifierforKey:@"eventId"];

}

}

}];

}

}

//删除日程

- (BOOL)deleteCalendarEventIdentifier:(NSString*)eventIdentifier{

NSString*eIdentifier = [[NSUserDefaultsstandardUserDefaults]objectForKey:eventIdentifier];

EKEvent*event;

NSError*error =nil;

if(eIdentifier && ![eIdentifierisEqualToString:@"eventId"]) {

event = [self.eventStoreeventWithIdentifier:eIdentifier];

return [self.eventStore removeEvent:event span:EKSpanThisEvent error:&error];

}

return NO;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值