`
re_reference
  • 浏览: 236633 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Eventkit使用案例

阅读更多
- (void)createNewEventAndNewReminder
{
    EKEventStore *es = [[EKEventStore alloc] init];
    
    NSDate *now = [NSDate date];
    
    //事件
    [es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
        if (granted) {
            EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:[now dateByAddingTimeInterval:30]];//30秒
            
            EKEvent *event = [EKEvent eventWithEventStore:es];
            event.title = @"This is a new event";
            event.startDate = now;
            event.endDate = [now dateByAddingTimeInterval:30];
            [event setAllDay:YES];
            [event addAlarm:alarm];
            [event setCalendar:[es defaultCalendarForNewEvents]];
            [es saveEvent:event span:EKSpanThisEvent commit:YES error:nil];
            
            NSError *err = nil;
            if([es saveEvent:event span:EKSpanThisEvent commit:YES error:&err]){
                NSLog(@"saved!");
            }else{
                NSLog(@"%@",err);
            }
        }else{
            NSLog(@"%@",error);
        }
    }];
    
    //提醒
    [es requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
        if (granted) {
            EKAlarm *alarm = [EKAlarm alarmWithAbsoluteDate:[now dateByAddingTimeInterval:30]];
            
            EKReminder *reminder = [EKReminder reminderWithEventStore:es];
            reminder.title = @"This is a reminder";
            NSCalendar *cal = [NSCalendar currentCalendar];
            [cal setTimeZone:[NSTimeZone systemTimeZone]];
            NSInteger flags = NSYearCalendarUnit | NSMonthCalendarUnit |
            NSDayCalendarUnit |NSHourCalendarUnit | NSMinuteCalendarUnit |
            NSSecondCalendarUnit;
            
            reminder.startDateComponents = [cal components:flags fromDate:[now dateByAddingTimeInterval:30]];//开始时间
            reminder.dueDateComponents = [cal components:flags fromDate:[now dateByAddingTimeInterval:30]]; //结束时间
            reminder.completionDate = [now dateByAddingTimeInterval:30];
            [reminder setCalendar:[es defaultCalendarForNewReminders]];
            reminder.priority = 1;//优先级
            [reminder addAlarm:alarm];
            
            NSError *err = nil;
            if([es saveReminder:reminder commit:YES error:&err]){
                NSLog(@"saved!");
            }else{
                NSLog(@"%@",err);
            }
        }else{
            NSLog(@"%@",error);
        }
    }];
}
1
0
分享到:
评论

相关推荐

    iOS 设置系统日历提醒

    在iOS平台上,为用户提供日历提醒功能是一项常见的需求。...通过分析这个项目的代码,我们可以深入理解`EventKit`和`EventKitUI`框架在实际应用中的工作原理和使用方式,这对于开发涉及日历提醒功能的iOS应用至关重要。

    iOS---OC版---日历(酒店)

    在iOS开发中,日历功能是一项常见的需求,特别是在构建如酒店预订类的应用中。...这个项目不仅涉及到日历功能,还可能涉及到网络请求、数据持久化和用户界面设计等多个方面,是iOS开发中的一个综合实践案例。

    iOS---OC版---日历

    在iOS中,我们通常使用EventKit框架来处理日历相关的任务。EventKit框架提供了一个接口,使得开发者能够访问用户设备上的日历数据,包括添加、删除和修改事件。 二、引入EventKit框架 首先,在项目中引入EventKit...

    IOS应用源码——一个功能比较完整,类似于android上面的日历demo,可记录事件.zip

    1. **EventKit框架导入**:源码会包含`#import <EventKit/EventKit.h>`,引入必要的头文件,以便使用EventKit框架。 2. **权限请求**:在iOS中,访问用户的日历数据需要用户的授权。你需要调用`EKEventStore`的`...

    ios-带签到功能的日历优化.zip

    实现这一功能需要监听按钮的点击事件,并使用 EventKit 添加一个新的事件到用户日历,该事件表示签到的时间和日期。 3. **点击日历签到**: 当用户在日历视图中选择特定日期时,应用应提供签到选项。这需要监听...

    IOS7 典型实例大全源代码下册2

    iOS提供了很多SDK,比如EventKit(日历和提醒),MapKit(地图服务),AddressBook(联系人管理),让开发者可以方便地在自己的应用中实现类似的功能。 3. **10照片库与相机**: 在iOS中,访问用户的照片库和使用...

    ios 读写iOS系统中日历事件

    开发者可以创建一个EKEventStore实例,并用它来执行查询或保存事件。 3. **事件对象**:EKEvent对象代表一个具体的日历事件,包含日期、时间、标题、地点等信息。开发者可以通过设置这些属性来创建新的事件,或者...

    调用系统Canlendar

    首先,要使用EventKit框架,你需要在Xcode项目中导入它。在你的Swift文件顶部添加以下代码: ```swift import EventKit ``` 接下来,我们需要获取EventStore实例,它是EventKit框架中的主要类,负责处理日历数据。...

    Calendar-master.zip

    在"Calendar-master"项目中,开发者可能已经使用了`EventKitUI`和`EventKit`这两个库,它们分别提供了用户界面组件和数据管理接口。`EventKitUI`包含预设的日历视图,如`EKEventEditViewController`,用于编辑和显示...

    ios-iOS添加事件到系统日历.zip

    可以使用`EventKit`的`EKAuthorizationStatus`枚举来检查当前的授权状态,并请求权限: ```swift func requestCalendarAccess() { let eventStore = EKEventStore() eventStore.requestAccess(to: .event, ...

    IOS自定义日历

    1. 使用EKEventStore类实例获取日历存储服务。 2. 请求访问权限:调用eventStore.requestAccess(to:EKEntityType.event, completion:),在completion回调中处理权限状态。 三、获取和创建日历 1. 通过eventStore....

    ios-日历.zip

    在iOS应用中实现日历功能通常涉及到`EventKit`框架的使用,该框架提供了访问系统日历并进行操作的能力。以下是一些关于如何在iOS应用中实现日历功能的关键知识点: 1. **EventKit框架**: - `EventKit`是iOS中的一...

    ios-签到日历.zip

    使用`EKEventStore`的`default`属性获取默认的日历存储实例,然后调用`calendars(for:EKEntityType.event)`获取所有可用的日历。可以选择一个特定的日历进行操作,或者创建一个新的日历。 4. **添加签到事件** ...

    ios-2行代码搞定一个日历表.zip

    在使用这两行代码之前,确保已经在项目中导入了`EventKit`框架: ```swift import EventKit ``` 接下来,我们需要创建一个`EKCalendarViewController`实例,它是苹果提供的默认日历视图控制器。这一步通常就是所谓...

    ios-添加与删除日历事件 只是简单封装,不做任何创新(菜鸟勿喷,恳请指教).zip

    3. **定义事件**:创建一个`EKEvent`实例,设置其属性如开始时间、结束时间、标题、地点等。例如: ```swift let event = EKEvent(eventStore: eventStore) event.title = "会议" event.startDate = Date() event....

    ios-Calendar module 日历模块.zip

    使用`EKEventStore`实例的`fetchCalendars(for:)`方法可以获取可用的日历列表。用户可以选择其中一个日历来存储事件。 5. **事件操作** - **创建事件**:使用`EKEvent`类创建新事件,并设置其开始时间、结束时间...

    ios-calendar.zip

    "Calendar"这个文件可能是包含示例代码、教程或Xcode项目,用于展示如何使用EventKit框架在iOS应用中实现这些功能。通过解压并研究这个文件,开发者可以更好地理解和掌握如何在自己的应用中集成日历功能。记住,良好...

    IOS应用源码Demo-日历组件-毕设学习.zip

    2. **获取日历实例**:`EKEventStore`类可以用来获取所有可用的日历,例如默认的日历或其他自定义日历。 3. **创建事件**:通过`EKEvent`类,你可以创建新的事件对象,设置事件的标题、开始时间、结束时间、地点等...

    ios 日历插件

    3. 在需要使用datePicker的地方,实例化VurigCalendar类并进行配置。 4. 连接datePicker的值改变事件,处理用户的选择。 总结来说,VurigCalendar是一个针对iOS开发的快速集成datePicker解决方案,它简化了日历选择...

    ios-日历选择器.zip

    不过,这个实例可能没有直接使用EventKit,而是自定义了一个视图来呈现日历选择器。 2. **自定义日历视图**:LPHCalendar可能是自定义的日历视图控件,它可能包含一个UICollectionView或UITableView,用以展示日期...

Global site tag (gtag.js) - Google Analytics