首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当iCal不在后台时,从iCal中删除不工作的事件

当iCal不在后台时,从iCal中删除不工作的事件
EN

Stack Overflow用户
提问于 2015-06-15 06:47:45
回答 1查看 49关注 0票数 3

我一收到通知就试图从iCal中删除该事件。只有在iCal处于后台时,事件才会被删除。如果在关闭iCal后发送相同的通知,则不会删除该事件。正在尝试使用此方法在MyCal宪兵中访问iCal。

代码语言:javascript
复制
+ (void)requestAccess:(void (^)(BOOL granted, NSError *error))callback {
  if (eventStore == nil) {
    eventStore = [[EKEventStore alloc] init];
  }
  [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:callback];
}

正在尝试使用AppDelate.m中的以下方法删除事件

代码语言:javascript
复制
[MyCalendar requestAccess:^(BOOL granted, NSError *error) {
            if (granted) {
                if ([[self.launchOptions objectForKey:@"type"] isEqualToString:@"remainder"] || [[self.launchOptions objectForKey:@"type"] isEqualToString:@"cancelAppointment"]) {
                    if ([[self.launchOptions objectForKey:@"type"]
                         isEqualToString:@"cancelAppointment"]) {
                        if (![MyCalendar removeEventWithEventIdentifier:
                              [self.launchOptions objectForKey:@"eventId"]]) {
                        }
                    }
                }
            }
       }];

M中使用下面的方法从iCal中删除事件

代码语言:javascript
复制
+ (BOOL)removeEventWithEventIdentifier:(NSString *)identifier {
  EKEvent *event2 = [eventStore eventWithIdentifier:identifier];
  BOOL result = NO;
  if (event2 != nil) {
    NSError *error = nil;
    result = [eventStore removeEvent:event2 span:EKSpanThisEvent error:&error];
  }
  return result;
}

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-15 10:32:46

在使用之前,必须初始化事件存储对象。

代码语言:javascript
复制
    + (BOOL)removeEventWithEventIdentifier:(NSString *)identifier {
        EKEventStore* eventStore = [[EKEventStore alloc] init];
        EKEvent *event2 = [eventStore eventWithIdentifier:identifier];
        BOOL result = NO;
        if (event2 != nil) {
        NSError *error = nil;
        result = [eventStore removeEvent:event2 span:EKSpanThisEvent        error:&error];
        }
      return result;
      }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30838868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档