私はiOS 10 Homeアプリをチェックしました。スクリーンショットはホームアプリからのみキャプチャされます。複数の日にHMTimerTriggerを繰り返します(例:毎週月曜日、水曜日、iOS 10 Homeアプリのように)
私は過去2日間、HMTimerTriggerの繰り返し機能を実装しようとしています。私の必要条件は、毎週、火曜日、金曜日にトリガーを繰り返さなければならないということです。私が見つけたのは、以下のように1日だけ(月曜日または火曜日...しかし月曜日と火曜日は追加できない)です。
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]];
私の投稿を読んでいただきありがとうございます。どんなアイデアや提案も非常に役に立ちます。
1つの 'HMTimerTrigger'インスタンスで複数の日を設定することはできませんが、別の日にトリガーするために、複数のHMTimerTriggerを使用することができます。 このため、 'HMHome'にはaddTriggerメソッドがあり、複数のトリガーを追加できます。あなたの場合は、毎日別々に 'HMTimerTrigger'を作成し、' HMHome'インスタンスに追加してください。あなたの例では、月曜日、火曜日、金曜日の3つのトリガーを追加する必要があります。 – Ravin
こんにちは@Ravinあなたは正しいですが、問題は私たちはすべてのトリガーを表示しています。その場合、ユーザーは混乱するかもしれません。だからこそ私はHomeKitフレームワークメソッドを探しているのです – SRI
これは公開APIには書かれていませんが、テクニカルサポート(テクニカルサポートインシデント)で確認し、これを行う公式な方法があるかどうか確認できます。 1つの開発者アカウントで2つのTSIが利用可能です(https://developer.apple.com/support/technical/)。正式にサポートされていない場合は、独自のコードを記述してTriggerGroupのようなものを作成し、トリガーを作成するときに渡す名前。これにより、明確なUIを提供するのに役立ちます。 – Ravin