「時刻」のオートメーションは便利なんですが, 対象となる繰り返しは「毎日」「毎週」「毎月」の3種類のみです.
なので例えば「土日だけ除きたい」なんてことがそのままのオートメーションでは実現不可能です.
そこで「日時」アクションを弄ってそれに近いことを行うのが今回の目標です.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS14.4.2
スポンサーリンク
レシピ
まず「辞書」アクションを追加し, キーに曜日(好きな書き方で問題ありません), 値の種類はブール値にし, 「目的に該当する場合」を真にします.
そして「辞書の値を取得」でこの辞書のすべての値を取得します.
ただし現時点での曜日と照合するため, 曜日の順番は画像のように日曜から始まり土曜で終わるようにしてください, 曜日の7項目以外の要素を追加するのも今回はダメです.
続けて「日付」アクションを追加し, 「リストから項目を取得」アクションで上で取得した辞書の値から「現在の日付」番目を取得します.
「現在の日付」番目なんて意味不明ですがカラクリは下の通りです.
日付を指定した後タップし, 「日付フォーマット」を「カスタム」にした上で「カスタムフォーマット」の内容を「e」にします.
こうすると日付の出力が対象の曜日に相当する数字になります.
具体的には日曜が1, 月曜が2, …, 土曜が7, となります.
この数字が最初の辞書の順番と一致しますね.
今回の「辞書」アクションの値はすべてブール値でした, なのでこの出力は「今日の曜日に相当する"はい"または"いいえ"」となります.
というわけでレシピに戻ります.
上の「リストから項目を取得」の時点で今日の(曜日の)ブール値(真偽値)が得られたのでこの結果によってif文で何かをするか, 何もしないかを行います.
レシピでは「リストから項目を取得」が真ならば「今日はオンの日」というコメントの通知を, 偽ならば「今日はオフの日」というコメントの通知を行うようにしていますが各自で好きなことをしましょう.
該当する場合に何もしない選択肢ももちろんあります.
ここでif文の入力とした「リストからの項目」の種類はブール値にします.
実行
あとは実行して結果が正しいか確かめます.
さて, こうして作ったレシピはもちろん普通に使ってもいいですが文頭の通りオートメーションで使うのも相性が良いです.
ただオートメーションを使うに辺り2通り考えられます, つまり
- レシピをオートメーションのアクションに直接書き込む
- レシピを「マイショートカット」で作っておき, これをオートメーションのアクションで「オートメーションを実行」で呼び出す
の2通りです.
やってることは同じですが, 画像のように例えば後者の場合は通知のアイコンがレシピで指定したグリフになる違いがあります.
またレシピに「結果を表示」など特定のアクションを含むと直接動作しない場合があります.
これは時刻バグとは違って仕様なんでしょうね.
〆
本記事では辞書アクションの順番と日付フォーマットを利用してフィルタを行いました.
同じことを日付でも行えることが容易に分かると思います.
工夫次第ではそれ以外でもできますね.
該当しない場合でも通知が出てしまうデメリットはありますがオートメーションの数が増えるのが嫌な人は検討してみてください.