今回はショートカットアプリにある「待機」のアクションについてです.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のバージョン : v2.0
スポンサーリンク
待機アクション
通常, ショートカットの処理はポップアップやループなどの例外処理を除き, 一度タップしたら最後まで一気に進みます.
中には他のアプリやショートカットなどを起動することにより, 一時的にメインのショートカットから抜ける場合がありえます.
プログラミングで言うところの「サブルーチン」になるわけですが, iPhoneでは特にWi-Fiやモバイルデータ通信, Bluetoothなどの通信関連の接続に関するタイムラグを理由に使うのが最も有益な使い方の一つでしょう.
「待機」のアクションは以下の2つあります.
- 待機
次のアクションを続行する前に, 指定された秒数だけ待機 - 戻るまで待機
"ショートカット"アプリから他に移動して戻るまで, このショートカットの実行を一時停止
前者は具体的な秒数を指定するか, 変数などを用いてアクションの入力から代入します.
後者はユーザーのタイミングに委ねられます(上の画像の通り一切のオプションもありません).
上の画像の例では, 実行するとTweetbotを起動し, 戻って来たらExift(画像のExif情報を閲覧できるアプリです)を実行します.
順番が逆になりましたが「待機」アクションはこのアクションの処理を指定の秒数だけ待機することで待ちます.
-や+のボタンをタップして1秒ずつ調整しても良いですし, 「数字」アクションなどで数を指定してからマジック変数として「待機」に代入することも可能です.
バグ?
バグかどうかははっきりしないのですが, 「待機」「戻るまで待機」のアクション双方, 他のアプリへ移動するなどしてショートカットから抜ける前提だと, このショートカットに戻るのにおよそ26~27秒以上を費やすとそれ以降のアクションを実行しないようです.
当然ショートカットから抜けることなく開いたままにすれば問題ないのですが, 上記のように途中でショートカットを抜ける時間が26秒程度を超えると, 「待機」「戻るまで待機」のどちらであっても中断されてしまいます.
例外として, 直後に置いた「クイックルック」アクションは処理されるのですが, あまり当てにならないですね.
じゃあどうすれば良いのか?
少なくとも今回の例では敢えて待機のアクションを取り除けば良いようです.
これだと矢継ぎ早にのアプリが起動し, 結果としてはじめに起動したTweetbotが終了してしまうのでは…と思いますが, 結果はTweetbotからこのショートカットへ戻ることで次のアクションを実行してくれます.
因みにショートカットへ戻る場合はAppスイッチャー(マルチタスク)を開いてもいいですが画面左上のback-to-appを使う方法もあります.
〆
現状, この待機のアクションを正常に使えるのは時間を指定する「待機」を, ショートカットを開いたまま行うことのようです.
まだバグと決まったわけでなく, 単純にiOSの仕様ないし制限かもしれません(だったらせめて説明に書いてあって欲しいですが).
最初にも触れましたがこれらのアクションは主に通信待ちなどで役に立つでしょう.
ショートカット内で済ませられるフローでわざわざ待つ必要は(多分)ないでしょうから.