スケジュール
「スケジュール」タブ
Section titled “「スケジュール」タブ”設定パネルではなく、ステータス画面です。次の項目を一目で確認できます。
- スケジュールがオンかオフか
- 次回のスケジュール実行(設定されている場合)
- 前回実行の結果
1つのボタン(スケジュールを設定またはスケジュールを管理)から詳細画面を開きます。
スケジュール設定
Section titled “スケジュール設定”エクスポート履歴
Section titled “エクスポート履歴”「スケジュール」画面下部の一覧には、スケジュール実行ごとの結果が記録されます。行をタップすると詳細を確認できます。失敗した実行の再試行ボタンは、現在設定されている設定と保存先でその日付範囲を再度実行し、新しい履歴行を記録します。
iOSのスケジュールが実際に動作する仕組み
Section titled “iOSのスケジュールが実際に動作する仕組み”
1. 目標時刻Health.mdは、選択した時刻の前後にアプリを起動するようiOSへ要求します。
2. バックグラウンドでの試行デバイスが利用可能な場合、iOSがバックグラウンド更新タスクを実行します。
3. ロック時の代替手段HealthKitを利用できない場合、Health.mdが通知を送信します。
4. タップして完了通知からアプリを開くと、HealthKitを読み取ってエクスポートを実行できます。
知っておくべきiOSの制限事項
デバイスがロックされている間はHealthKitデータを読み取れません。スケジュールエクスポートはBGAppRefreshTaskを通じて実行されますが、iOSが利用状況に基づいて実行機会を判断します。そのため、時刻設定は目標であり、実行を保証するものではありません。代替手段として、スケジュール時刻にデバイスがロックされている場合、アプリがローカル通知を送信します。通知をタップするとエクスポートが実行されます。
- スケジュール時刻はおおよその目安です。iOSがタスクを予定より早く、または遅く実行することがあります。また、デバイスの電源が切れている場合や接続されていない場合は、実行されないことがあります。
- 毎日ほぼ同じ時刻にiPhoneを電源に接続し、ロックを解除しておくと、スケジュールエクスポートが最も安定して動作します。
- デバイスがロックされていたためエクスポートに失敗した場合は、通知をタップしてください。HealthKitへアクセスできる状態でエクスポートが実行されます。
プログラムによる制御
Section titled “プログラムによる制御”ショートカットのスケジュールエクスポートをオンまたはオフにするインテントを使用して、スケジュールのオン/オフを切り替えられます。例についてはショートカットを参照してください。
プロファイル別スケジュールとキャンセル
Section titled “プロファイル別スケジュールとキャンセル”- 各プロファイルはカスタム間隔を含む独自のスケジュールを保持します。有効なプロファイルを変えても別のスケジュールは切り替わりません。
- 同じ保存先に同じ生成パスを書き込む可能性があるプロファイルには競合警告が表示されます。競合するスケジュールを有効にする前に確認してください。Health.mdがプロファイルを勝手に変更することはありません。
- 停止またはキャンセルは現在の試行だけを終了します。完了日を維持し、未解決日は再試行でき、スケジュールは有効なままです。
- 履歴の各行は、実行時のプロファイルと実際に使った保存先のプライバシー配慮済みラベルに固定されます。
固定設定と保存先はエクスポートプロファイルで管理します。