0

我已经通过编码成功创建了日历,并在该日历中创建了事件。我可以通过编码删除日历,但是当我选择 iPhone 的日历并删除新创建的日历时,这次删除不起作用。请建议。

EKEventStore *eventStore = [[EKEventStore alloc] init];
EKCalendar *calendar = [EKCalendar calendarWithEventStore:eventStore];
calendar.title = CALENDAR_TITLE;

// Iterate over all sources in the event store and look for the local source
EKSource *theSource = nil;
for (EKSource *source in eventStore.sources) {
    if (source.sourceType == EKSourceTypeLocal) {
        theSource = source;
        break;
    }
}

if (theSource) {
    calendar.source = theSource;
} else {
    NSLog(@"Error: Local source not available");
    return;
}

NSError *error = nil;
BOOL result = [eventStore saveCalendar:calendar commit:YES error:&error];
if (result) {
    NSLog(@"Saved calendar to event store.")
    self.calendarIdentifier = calendar.calendarIdentifier;
} else {
    NSLog(@"Error saving calendar: %@.", error);
}


// Delete Calendar
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKCalendar *calendar = [eventStore calendarWithIdentifier:self.calendarIdentifier];
if (calendar) {
    NSError *error = nil;
    BOOL result = [self.eventStore removeCalendar:calendar commit:YES error:&error];
    if (result) {
        NSLog(@"Deleted calendar from event store.");
    } else {
        NSLog(@"Deleting calendar failed: %@.", error);
    }
}
4

1 回答 1

0

我也有同样的经历。在 iOS 5.0 上,日历似乎也自动用于提醒。您需要从提醒应用程序中删除日历。

我认为这可能是 iOS 中的一个错误,当您尝试从日历应用程序中删除以编程方式创建的日历失败时,您甚至没有收到通知。

于 2012-08-01T07:24:57.230 回答