如何从iOS中的设备中删除应用程序时删除所有“我的应用程序日历”事件

我有一个名为MyCalendar的日历。

我已经存储了一些事件到该日历

我知道如何删除日历中的所有事件

NSDate *startDate = [NSDate date]; NSDate* endDate = [NSDate dateWithTimeIntervalSinceNow:[[NSDate distantFuture] timeIntervalSinceReferenceDate]]; NSArray *calendarArray = [NSArray arrayWithObject:self.defaultCalendar]; NSPredicate *predicate = [self.eventStore predicateForEventsWithStartDate:startDate endDate:endDate calendars:calendarArray]; NSArray *events = [self.eventStore eventsMatchingPredicate:predicate]; for (EKEvent *event in events) { NSError* err = nil; [self.eventStore removeEvent:event span:EKSpanFutureEvents commit:YES error:&err]; } 

但是当用户从设备中删除我的应用程序。 我如何删除所有与日历MyCalendar相关的事件。

由于不必要的一些事件的删除应用程序仍然存在设备日历。

如果用户不想使用我的应用程序,那么保留与我的应用程序相关的事件是最糟糕的。

任何想法和build议都赞赏..这是可能的吗?

提前致谢..

当用户要从iPhone上删除应用程序时,我们没有任何控制来做一些操作,这非常简单。 也许你可以在应用程序里面提供Delete All Events选项来通知用户正确的按摩。 我想用户至less单次使用您的应用程序之前删除。 所以我想如果他/她有这个应用程序是如何工作的适当的想法,然后挑衅地他们可以从应用程序中删除应用程序事件,然后删除应用程序。

其实我们没有任何select,为什么我会build议你这个。 用户如何利用这个选项对他们有帮助。

其实天气苹果处理这样的function还是不对他们。 因为一些时间事件不仅仅与应用程序有关,比如从Facebook上添加birthday事件不仅仅与Facebook有关。 即使Facebook应用程序被删除,用户也需要提醒。 所以我认为苹果需要弄清楚处理这种情况的一些解决scheme。

希望这对你有所帮助。

我也不认为这是可能的。 而且我也认为这些年来可能有无数的雷达请求它。

我认为问题是你存储事件的方式。 如果他们只是与您的应用程序相关,那么您应该将其存储在应用程序中,并且只能在应用程序中访问,并在应用程序被删除时删除。

如果您将它们存储到设备日历中,那么我只是以日历事件的pipe理员身份来查看您的应用。 不是您的应用程序事件,而是USER事件。 他可以使用你的应用程序来pipe理他们,或另一个应用程序。 如果他们在用户日历中,他们可能也保存在云上,他也可以从Macpipe理他们。

如果他们允许你想要的function,什么会阻止你的破坏性和删除用户日历中的所有事件,作为报复,因为它会删除你的应用程序?

一个iOS应用程序在即将被卸载时不会收到任何callback,所以不可能做到你想要的。

看到这个问题检测iOS应用程序即将删除?