7rikazhexde’s tech log

技術的な興味関心、備忘録、アウトプットなどを書いています。

iPhoneのショートカットアプリで土日、祝日、平日を考慮してアラームを指定時間で自動設定するオートメーションについて

iPhoneの時計アプリではアラームを設定することができますが、設定を自動化したいと思いショートカットアプリで作成することにしました。

ショートカットアプリを作成することにした経緯として、iPhoneでは「ヘルスケア」の睡眠スケジュール機能で曜日ごとにアラームを設定できます。

しかし、現状のヘルスケアの睡眠スケジュール機能では祝日の設定ができないため、希望通りの設定ができませんでした。

私の場合、アラーム設定は平日と休日で異なり、祝日の場合は休日のアラームを設定することが多いので、祝日に対応していないので候補から外しました。

また、睡眠スケジュールではアラームのサウンドで曲を設定することはできたいため、曲を設定したい場合は時計アプリを使用する必要があります。(私は曲を指定していないため問題はありませんが、時計アプリと同じように使えるべきだと思います。)

祝日の情報はショートカットのカレンダーから取得することができるため、平日と祝日の情報を取得してアラームを設定するショートカットアプリを作成することにしました。

本記事では実際に作成したショートカットを紹介します。合わせてiCloudリンクも共有しますので是非使用してみてください。

作成したもの

指定時間(デフォルトでは0時)に土、日、祝日用と平日用に2種類のアラームを設定するショートカットを作成し、オートメーションで定期実行してアラームを設定します。

動作確認環境

iOS 13.x以降

使用手順

  1. 下記リンクよりアラーム設定のショートカットをショートカットアプリに追加する。
    ※リンクから追加画面に遷移しない場合はメモにURLを貼り付けてからアクセスしてください。 www.icloud.com
  2. 時計アプリで土、日、祝日用と平日用のアラームを作成する。
  3. アラーム設定のショートカットに2.で作成した時間を土、日、祝日用と平日用のアラームについて、アラームの切り替えアクションでオン、オフをそれぞれ設定する。
  4. 新規オートメーション画面で個人用オートメーションを作成して時刻を00:00、繰り返しを毎日に設定し、アクションを追加ボタンから1.で追加したアラーム設定のショートカットを設定する。

注意事項

土、日、祝日は同じ時間のアラームを設定するようにしています。(個人的に土、日、祝日で分ける必要はなかったためです。)
それぞれ設定する場合は後述するアラーム設定用の変数と判定処理を追加すれば対応可能です。
実行可能な端末はiPhoneiPadです。Macでもショートカットアプリはサポートしていますが、時計アプリとオートメーションが未サポート(※)のため実行できません。
MacOS バージョン12.5現在

ショートカットの処理について

以下アクティビティ図に従い処理します。
※アラーム設定のショートカットにもコメントを追加していますので合わせて確認ください。

autoAlarmSettingShortcutAutomation.png

<補足>アクティビティ図のソースコード(.puml)

まとめ

ショートカットアプリを使用してカレンダーから土日、祝日、平日の情報を取得、判定することでiPhoneの時計アプリのアラームを設定するショートカットを作成しました。

オートメーションから作成したショートカットを指定時間で実行することで自動でアラーム設定することができました。

アラームの設定については睡眠時間を生体データや仕事の予定表などからリコメンドしたり、自動で時刻も設定できると良いのですが本来は寝る時間も起きる時間も固定化して規則正しい睡眠を取ることが理想だと思います。

個人的には寝る時間はバラついているので寝るまでの時間も意識して習慣化したいなと思っています。