以编程方式向“提醒”应用添加提醒

时间:2013-04-07 16:16:23

标签: ios eventkit reminders

我正在创建一个简单的笔记应用程序,我想实现提醒。用户可以键入注释,点击按钮,然后使用文本在“提醒”应用中设置提醒。这是可能的,如果是的话,我该怎么做?我在EventKit和EKReminders上看过Apple的文档,但它根本没有帮助。

1 个答案:

答案 0 :(得分:16)

来自"Calendars and Reminders Programming Guide"?具体来说是"Reading and Writing Reminders"

  

您可以使用reminderWithEventStore:类方法创建提醒。 titlecalendar属性是必需的。提醒的日历是用于分组的列表。

在创建提醒之前,请求许可:

.h

@interface RemindMeViewController : UIViewController
{
    EKEventStore *store;
}

.m,当您需要访问提醒时:

store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeReminder
                      completion:^(BOOL granted, NSError *error) {
                          // Handle not being granted permission
                      }];

实际添加提醒。这是异步发生的,因此如果您尝试在此之后立即添加提醒,则会失败(根据我的经验使应用程序崩溃)。

- (IBAction)addReminder:(id)sender
{
    EKReminder *reminder = [EKReminder reminderWithEventStore:store];
    [reminder setTitle:@"Buy Bread"];
    EKCalendar *defaultReminderList = [store defaultCalendarForNewReminders];

    [reminder setCalendar:defaultReminderList];

    NSError *error = nil;
    BOOL success = [store saveReminder:reminder
                                     commit:YES
                                      error:&error];
    if (!success) {
        NSLog(@"Error saving reminder: %@", [error localizedDescription]);
    }
}