重复HMTimerTrigger多天(例如:每周一,周三......就像iOS 10家庭应用程序一样)

SRI*_*SRI 13 objective-c nsdatecomponents ios homekit

我查看了iOS 10 Home应用程序.屏幕截图仅从Home应用程序中捕获.

在此输入图像描述自从过去两天以来,我一直在尝试实现HMTimerTrigger重复功能.我的要求是我必须在每个星期一,星期二和星期五重复触发.我发现的是我只能添加一天(周一或周二......但不是周一和周二),如下所示.

  unsigned flags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekOfYear | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute;
  NSDate *fireDate = [NSDate date];
  NSDateComponents *recurrenceComponents = [[NSDateComponents alloc] init];
  recurrenceComponents.weekday = 2; // For monday

  NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:flags fromDate:fireDate];
  fireDate = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];

  HMTimerTrigger *trigger = [[HMTimerTrigger alloc] initWithName:triggerName.text
                                                          fireDate:fireDate
                                                          timeZone:nil
                                                        recurrence:recurrenceComponents
                                                recurrenceCalendar:[NSCalendar currentCalendar]];
Run Code Online (Sandbox Code Playgroud)

感谢您阅读我的帖子.任何想法/建议都会非常有帮助.

Mar*_*ria 4

尽管 Apple 在其 HomeKit 应用程序中提供了此功能,但公众无法使用此功能。您能做的最好的事情就是每天创建多个触发器,但这样用户就会感到困惑。

请在此处打开雷达错误