For what ever reason (bug?)  you can’t delete local calendars you have created via the iPhone’s Calendar app. 

A few lines of code can however. Which of course you need to super careful when running because you can easily erase Calendars you actually want and then have that propagated over iCloud before you can say “Oh fuck…”

EKEventStore *eventStore = [EKEventStore new];

    for (EKCalendar *thisCalendar in eventStore.calendars){

        NSLog(@”Calendar: %@”, thisCalendar.title);

        if ([thisCalendar.title isEqualToString:@”My Calendar”]) {

            NSError *err;

            [eventStore removeCalendar:thisCalendar commit:YES error:&err];

            if (!err) {

                NSLog(@”deleted %@”, thisCalendar.title);

            } else {

                NSLog(@”%@”, err.localizedDescription);

            }

        }

    }