美文网首页
创建EKEvent 每日10点提现日历

创建EKEvent 每日10点提现日历

作者: CodingTom | 来源:发表于2021-08-02 16:25 被阅读0次
    + (void)createEKEventTask:(void (^)(void))success store:(EKEventStore *)store
    {
        EKEvent *event = [EKEvent eventWithEventStore:store];
        event.title = @"签到提醒";
    
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yyyy-MM-dd"];
        NSString *ymd = [formatter stringFromDate:[NSDate date]];
    
        [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    
        NSDate *date = [formatter dateFromString:[NSString stringWithFormat:@"%@ 10:00:00", ymd]];
    
        // 提前一分钟开始
        NSDate *startDate = [NSDate dateWithTimeInterval:-60 sinceDate:date];
        // 一分钟后结束
        NSDate *endDate = [NSDate dateWithTimeInterval:60 sinceDate:date];
    
        event.startDate = startDate;
        event.endDate = endDate;
        event.allDay = NO;
    
        ///结束时间
        EKRecurrenceEnd *end = [EKRecurrenceEnd recurrenceEndWithEndDate:[NSDate dateWithTimeInterval:3600 * 24 * 31 + 3600 sinceDate:date]];
    
        event.recurrenceRules = @[[[EKRecurrenceRule alloc] initRecurrenceWithFrequency:EKRecurrenceFrequencyDaily interval:1 end:end]];
    
        // 添加闹钟结合(开始前多少秒)若为正则是开始后多少秒。
        EKAlarm *elarm2 = [EKAlarm alarmWithRelativeOffset:60];
        [event addAlarm:elarm2];
    
        [event setCalendar:[store defaultCalendarForNewEvents]];
    
        NSError *error = nil;
        [store saveEvent:event span:EKSpanThisEvent error:&error];
    
        if (!error) {
            success();
        } else {
          ///错误
        }
    }
    
    

    相关文章

      网友评论

          本文标题:创建EKEvent 每日10点提现日历

          本文链接:https://www.haomeiwen.com/subject/fltomltx.html