少し前から個人的に使っていたものを紹介します.
実際に使っている応用編の動画です.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS17.5.1
スポンサーリンク
普通のやり方
これまでにあちこちで紹介されているやり方の多くは
- 「アプリを開く」アクションを並べて一気に開く
- 「メニュー」アクションで選んで開く
が大半でした.
しかし前者だと全部開いてしまうので途中の作業はできず、そのたびにAppスイッチャーで戻る手間があります
後者もいちいちレシピを実行しないといけません.
そこでオートメーションを利用して次のアプリへの実行をよりスムーズにします.
基本
今回はPontaアプリを開いたのち、PayPayを開くことを想定します.
というわけでまずは一つ目であるPontaを開くだけのレシピを作成します.
このレシピをどう実行するかは自由です.
ホーム画面に追加したアイコンでもAssistiveTouchでも、背面タップでもアクションボタンでも構いません.
今回は背面タップにします.
続いて二つ目のアプリを開くためにオートメーションを使います.
トリガーは「アプリ」で該当アプリが「閉じている」のみチェックが入った状態にします.
中身は二つ目のアプリを開くアクションのみです.
これで基本のレシピ・オートメーションは完成です.
一つ目のアプリを開き、閉じるとオートメーションが働いて二つ目のアプリが開くというわけです.
しかしこのままだと一つ目のアプリが閉じると必ず二つ目のアプリが開いてしまいます.
それを防ぐために、作ったレシピで一つ目のアプリを開いたときだけ、閉じると二つ目のアプリが開くように工夫してみます.
応用
Data Jarを使う
応用するにあたってちょくちょく紹介しているこのData Jarというアプリを利用します.
ショートカットで外部データを扱うにはメモアプリやファイル、あるいはDropboxなどがありますが、Data Jarは基本的な使い方だけなら他の手段よりもデータの追加や管理がとても簡単で重宝します.
Data Jarを開き、画面右上の+アイコンをタップしてデータを追加します.
TextやNumberと並んだ部分はデータの値の種類を決めます、今回は一つ目のアプリをショートカットレシピから開いたかどうかを判定するだけなのでTextかNumberでいいです.
"Key"にわかりやすい文字列を入れ、"Value"に然るべき初期値を入れておきます.
後のレシピからわかるよう、今回は"Key"に"launch flg"、"Value"には0を入れています、ようはフラグとして扱うということですね.
0のときフラグが立っていない…とここでは約束します.
レシピを改変
一つ目のアプリを開くレシピを改造します.
アプリを開くだけのレシピでしたが先ほど作ったData Jarのデータを編集します.
1を代入した「数字」アクションを追加し、Actionsの"Set Value"アクションを追加して先ほど作ったData Jarデータのキーを"Key Path"に入れ、"Value"の方に1を入れた「数字」アクションを代入します.
後者は長押ししないとファイルを指定しようとするので注意します.
"Set Value"アクションのオプションは特に弄る必要はないですが"Overwite"(上書き)は念の為に"Yes"にしておくといいです.
一つ目のアプリを開くレシピの改変はこれで完了です.
オートメーションを改変
続いてオートメーションも編集します.
改変したレシピを実行するとData Jarの該当キーの値が1になる(ようにした)ので、それをif文で場合分けすれば意図しない二つ目の実行を防ぐことができるわけです.
Data Jarの"Get Value"アクションで該当キーの値を取り出します.
その結果をif文を使って場合分けするのですが、if文の入力に追加したSet Valueの種類は「ファイル」なのでそのままでは0や1と比較できません.
なので一度タップして「種類」を「テキスト」や「数字」に変更する必要があります(緑).
オートメーションが発火した時点でフラグとしたキーの値がどうなっているかに関わらず今回は0にリセットする必要があるわけですが、その処理はif文の手前で行います(青).
ただしif文の入力はあくまでも"Get Value"直後のものなので気をつけます(赤).
これで該当レシピを実行したときはフラグが立ち、オートメーション側のif文に一致するので二つ目のアプリが開きます.
対して該当レシピ以外から一つ目のアプリを開いた場合はフラグが立っていないのでオートメーション自体は働きますがif文に該当せず二つ目のアプリは開きません.
〆
これまでのものより多少複雑にはなりますが、順番に開くという意味ではこれが理想的だと思います.
「戻るまで待機」というアクションを使う手もあるのですが、これは条件付きでアプリによっては機能しません.