【iOSショートカット】時間ごとに動作を変える

こんにちは、生焼けです。

少し前にiOSショートカットに追加された機能のオートメーション

アプリを起動した時に自動でショートカットが実行されるのはとても便利でいいんですが、
「夜に実行しないで欲しい」とか「朝のクソ忙しいときには実行しないで欲しい」とか色々不満、もとい欲が出てきちゃって…。

色々試したら解決手段が見つかってウキウキなので早速シェアをばというわけです。

今回は、 【「朝7時から夜21時台まで」 は動作して、それ以外の時間には動作させない】という設定で解説していきます。

スポンサーリンク

時間ごとに動作を変えるための準備

ガラケー+iPadの民なのでiPhone を持っておらず、示している画像もiPadのものになっています。

一部iPhoneと位置や結果が違うところがあることをご了承ください。

設定しておくこと

iPhone およびiPadの時刻設定が24時間表示であることが必須です。

設定の仕方は〈設定〉>〈一般〉>〈日付と時刻〉の一番上の「24時間表示」をONにしてください。

必要な知識

  1. iOSショートカットをなんとなく自分で作れる
  2. 正規表現(必須ではないけど分かってたほうが理解しやすいかも)

流れ

現在の日付から時間を抽出し、その数字を使って条件分岐させる。

用意するもの

準備というほどでもないですが、オートメーションやショートカットを作動させておきたい時間帯は決めておくとスムーズです。

例えば、「朝7時から夜21時台まで」など。日本語って難しいですが、ここではこの表現で「7:00~21:59」は動作させたいという意味で使います。

便宜上、この「朝7時」の方を【Aの時間】、 夜21時の方を【Bの時間】としておきます。

シミュラクラ現象

【Aの時間】は0以上【Bの時間】 以下【Bの時間】【Aの時間】 以上23以下にしておいてください。
もし「朝7時から夜2時台まで動作させたい」場合「夜3時から朝6時台までは動作させたくない」と考えて、【if文】下の「その他の場合」に動作させたいものを置きます

時間ごとに動作を変えるショートカットの作成

まずいつもどおりショートカットを新規作成します。

現在時刻の抽出

1.【一致するテキスト】を選択し、「現在の日付」を挿入

左上の検索ボックスに「テキスト」と入力し (①) 、アクション【一致するテキスト】を探して選択します (②)

すると、「テキストで[0-9a-zA-Z]に一致」」と書かれたカードが追加されます。

右画像の薄い色の「テキスト」部分をタップして (③) 、 キーボード上に出てきた【 現在の日付 】 をタッチで挿入します (④) 。

カードの内容が現在の日付で[0-9a-zA-Z]に一致」」となっていればOKです。

2.「現在の日付」のフォーマットを変更

先程の「テキスト」の【 現在の日付 】 をタップすると、【日付フォーマット】と【時間フォーマット】が出てきます。

この内、 【日付フォーマット】 をタップして「なし」にしておきます。

【時間フォーマット】 はデフォルトで 「短」になっていると思いますが、もし違うものになっていた場合は「短」にしておきましょう。

3.「現在の日付」から時間(HH)のみを抽出

次に[0-9a-zA-Z]の部分を選択して消し、正規表現で「先頭から2文字」を意味する^..を入力します。

^ はよく顔文字に使われてるあの記号で、.はドット記号が2つです。いずれも半角であることに注意してください。

4.数字に変換

次に、このままではテキスト扱いになるので、数字に直します。

検索ボックスに「数字」と入力して (①) アクション【入力から数字を取得】を選択します (②) 。
実行ボタンを押して、画像のように現在時刻の時間部分だけが表示されていれば成功です。

時間で条件分岐

この抽出した時間で結果を分岐させていきます。

1.【if文】 の挿入

検索ボックスに「if」と入力し (①) 、アクション【if文】を探して選択します (②) 。

自動的に下の右画像のようにもし【数字】条件 ならば」となっていると思いますが、なっていなければ「もし」の後ろに続くところをタップし、 【数字】 を選択してください。

2.【Aの時間】条件の設定

続いて、「条件」部分をタップし (①) 、出てきたリストから【次の範囲内】を選択します (②) 。

これを選択することで右側に入力欄が2つでるので、前側の入力欄に【Aの時間】、例えば7時であれば「7」と入力します(③)。

後側の入力欄に 【Bの時間】 、 例えば21時であれば「21」と入力します。

完成!

これで条件の分岐は完了です。

あとは、下の画像のように【if文】の直下普段は動作させておきたいショートカットやアクションを配置すればOKです。

【その他の場合】の下には何も置かないか、指定した時間帯以外で動作させたい違うショートカットを配置してください。

応用

条件分岐を増やして時間帯ごとに動作を変えたり、時間を変えて夜だけとか朝だけの動作とかも設定できます。

目覚まし時計のアプリとか朝と夜で開く意味が異なるアプリのオートメーションに結構重宝しています。

タイトルとURLをコピーしました