iOS 10 Home 앱을 확인했습니다. 스크린 샷은 홈 앱에서만 캡처됩니다.반복 HMTimerTrigger 여러 날 (예 : 매주 월요일, 수요일, iOS 10 Home 앱처럼)
지난 2 일 이후로 나는 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]];
내 게시물을 읽어 주셔서 감사합니다. 어떤 아이디어/제안이라도 도움이 될 것입니다.
하나의'HMTimerTrigger' 인스턴스에서 여러 날을 구성 할 수는 없지만. 다른 날에 트리거를 기반으로 여러 HMTimerTrigger를 사용할 수 있습니다. 이 경우,'HMHome'은 addTrigger 메소드를 가지고있어 여러개의 트리거를 추가 할 수 있습니다. 귀하의 경우에는 각각의 날에 대해 별도로'HMTimerTrigger'를 생성하여'HMHome' 인스턴스에 추가해야합니다. 귀하의 예에서는 월요일에 한 번, 화요일에 한 번, 금요일에 한 번씩 세 번씩 트리거를 추가해야합니다. – Ravin
안녕하세요 @ 레이븐 당신 말이 맞습니다. 그러나 문제는 우리가 모든 트리거를 보여주고 있다는 것입니다. 이 경우 사용자는 혼란 스러울 수 있습니다. 그래서 이것이 내가 HomeKit 프레임 워크 메서드를 찾고있는 이유입니다. – SRI
이것은 공개 API에 설명되어 있지 않지만 기술 지원 (기술 지원 사건)을 확인하고이를 수행 할 공식 방법이 있는지 확인할 수 있습니다. 하나의 개발자 계정에서 두 개의 TSI를 사용할 수 있습니다. (https://developer.apple.com/support/technical/) 공식적으로 지원되지 않는 경우 TriggerGroup과 같은 코드를 작성하여 트리거를 생성하는 동안 전달한 이름입니다. 이렇게하면 명확한 UI를 제공하는 데 도움이 될 수 있습니다. – Ravin