Я работаю над приложением, которое использует EKEventStore и EKCalendar.
EKEventStore является статическим:
static EKEventStore *eventStore = nil;
Затем я использую следующий метод, чтобы узнать, разрешает ли пользователь доступ к своему календарю.
- (void)requestAccess:(void (^)(BOOL granted, NSError *error))callback;
{
if (eventStore == nil) {
eventStore = [[EKEventStore alloc] init];
}
// request permissions
[eventStore requestAccessToEntityType:EKEntityTypeEvent completion:callback];
//EKCalendar *calendar = nil;
NSString *calendarIdentifier = [[NSUserDefaults standardUserDefaults] valueForKey:calendarIdentifer];
if (calendarIdentifier) {
self.calendar = [self retrieveCalendar];
}
}
После этого я могу создать новый календарь и сохранить свое мероприятие. Однако, если я удалю приложение, календарь останется в приложении календаря. Когда я запускаю приложение, я создаю новый EKEventStore, а это значит, что я также создаю новый календарь.
Это означает, что если я удалю приложение и переустановлю его несколько раз, я получу огромный список одних и тех же календарей, и только самые новые будут доступны мне в приложении. Можно ли удалить календарь при удалении приложения. Или я могу что-то сделать, чтобы получить доступ к предыдущему календарю, который был создан.
Любая помощь очень ценится.