私もiOSショートカットやってみたい! まずはHelloWorldだ!!

お見かけはしてたけど自分の中でピンときてなくてさわってこなかったiOSのショートカット機能。
ネットで「自分にも便利そう!」と思えた機能を真似して作ってみたら、ドハマり。最近暇さえあればやってる。WindowsユーザーなためiPhoneオンリーなんだけどiPhoneでのビジュアルプログラミングだからいつでもどこでもできちゃってヤバイ。止め時がわからない。布団の中でさえやってる。そろそろヤバイ。
動画でも解説してます
iPhone画面を録画して解説するの、けっこう新鮮で楽しかったです。
HelloWorldしよう
動画のほうは「はじめてのプログラミング」がコンセプトで、超初心者さん向けにゆっくりやっていくつもりなので、ブログでは他言語の知見なども交えながら書いていきます。
こちらが「ショートカット」のアイコンを起動したときの画面。(2025年3月現在、iOS ver.18.3 のスクリーンショットです。iOSのアップデートで変更される可能性があります。)右上の+マークから新しいショートカットを作成します。

ここから名前を変えられます。


アイコンと色も好きなものにしておきましょう。


iOSショートカットはビジュアルプログラミングなので、「アクション」と呼ばれる命令の書かれたブロックを探して置いて並べていく、といった手順です。HelloWorldするためには、文字列を表示するためのアクションを利用します。いろいろありますが、ここでは 「結果を表示」アクションを追加します。検索すれば候補に挙がるので、タップします。

「結果を表示」アクションが追加されました。

表示したい文字列を入力します。これで完成です。完了をタップします。

最初の画面に戻ります。このブロックが、今作ったプログラム(ショートカット)です。タップすると実行できます。

出たー! 新しい言語のHelloWorldはいつも楽しいですね! 完了をタップして終了します。

「…」をタップすると編集画面になります。


長押しするとメニューが出ます。

実行方法いろいろ
編集画面から実行
編集中に動作確認したいときは、右下の再生アイコンからでも実行できます。


ホーム画面のアイコンから実行
ここをタップして、

「ホーム画面に追加」を選択すると、設定したアイコンと色で、自分で作ったアプリをホーム画面に出すことができます。


キャワイイ!!!

オートメーションで実行
「○○したときに実行する」タイプは、「オートメーション」と呼ばれるカテゴリで、ここから作成できます。

私は、ワークアウトのランニングを開始したときに音量設定して特定のプレイリスト再生、終了時に音楽を停止、といった機能を作って使ってます。(ここでアクションを組むこともできるし、別の場所で作ったショートカットを呼び出すこともできます。)


共有シートから実行
ほかにも「共有シートに表示」を選択することで、自作のショートカットを、ファイル共有時のメニューへ追加させることができます。


私は、撮影したスクリーンショットをDropBoxにアップする作業をよく行っていたので、ファイルサイズ縮小、名前を付ける、DropBoxの特定のフォルダへアップロードする、という機能を作ったら大変便利で、愛用してます。
背面タップで実行
iOSショートカットにドハマりするきっかけになったのがこちら、スクリーンショットを撮って、画像内からテキストを抽出、電話番号を識別して、Web検索するという機能です。
このようにスクリーンショットを利用する機能は、ショートカットを「この画面の状態で」起動させたいので、「背面タップ」が有効です。
「設定」の「アクセシビリティ」>「タッチ」の画面へ行き、一番下の「背面タップ」を選択します。 「ダブルタップ」または「トリプルタップ」に、自作のショートカットが登録できるんです!


この背面タップがめちゃめちゃ便利で。便利すぎてほかでも背面タップを使いたくて。なので、iPhoneの背面タップで作成済ショートカットを選択して実行する機能を作って使っています。(この選択ダイアログが閉じるのを待つため、私の電話番号検索には先頭に1秒待機が入っています。)


デバッグで使えるアクション
アクションの検索で「スクリプティング」ってカテゴリにあるのを眺めると、いろいろできそうだなって感じます。
クイックルック
とりあえず中身を見たいときはコレ。テキストや数値だけじゃなくて、画像や配列とかなんでも見れる感じ。困ったらコレ。

ショートカットを停止
途中で止めて確認したいときはコレ。

アラート
先へ進むか中断するか選べるのでデバッグにも便利。

このように配置して、キャンセルすればそこで終了、OKを選ぶとそのブロックの先へも進める。もちろん表示するテキストも変更できる。


日時のフォーマット変更
取得した日をこんな形で表示したい、ってときはここを参照。
この直後にクイックルックを置いて、ほしい文字列になってるかどうかを確認すると良し。
アクションのコピペ
ブロックの左上のアイコンを長押しするとメニューが出るので、似た動きはコピペすると楽です。アクション検索からだと一番下に置かれてしまうので、これ知らなかった時は怒涛のドラッグ作業をしていました…。

つながってないと値を引き継げないので注意
アクションによって「直前のブロックの値を引き継ぐ」特性があるのですが、ブロックをコピペしてきたり順番を入れ替えたりすると、ここの線が消えて引き継げてない状態になって、値が入ってこないぞ?ってなります(なりました)。
下部ブロックの値をいったん消して設定しなおすとまた線が出てきます。これも都度クイックルックで中身を確認しながら進めていけばOK。

所感
これって、WindowsでいうPowerAutomateDesktopのiOS版てことじゃんね!?(今更の気づき) ビジュアルプログラミングといえど、条件分岐も繰り返しも変数もあるし関数化もできます。かなりやれる子です。
なんでここまで急にハマってしまったかって、やっぱり日常的にいちばん使ってるデバイスだからアイデアが湧きやすいのかなって気がします。どの言語でも楽しければ手が止まらなくなりますね。しかもそれがいつも手に収まってるんだもんなー、「あっ! あの部分ああしてこうすればもっとコンパクトになるな!?」とか思いついたらすぐ試せちゃうんだもん。
いまはこういうビジュアルプログラミングが流行ってるんですかね。たしかにブロックを積む感じはとっつきやすいかなと思います。複雑なものはどうしたってテキストプログラミングのほうがやりやすいのだけど、でも入り口が広くて興味を持つ人が多ければ、そこから別言語もやってみようという人も多くなるのかもしれませんね。
私としましては、ハマりこむうちに指で操作するのがつらくなってきて、Bluetooth接続のキーボードとマウスを用意したらPCライクにプログラミングできるようになってさらに楽しくなっちゃって、ChatGPTと連携させて天気とスケジュール読み上げてくれるとか、写真を一括リサイズするとか、自分で使うためのアプリをいくつか作ったので、ちょっとずつ紹介していけたらいいなと思ってます。
コメントは承認制ですので、反映までしばらくお待ち下さい。(稀にスパムの誤判定にて届かないこともあるようですので、必要な際はお問い合わせからお願い致します。)
YouTubeでQ&Aコンテンツを企画しています
運営しているYouTubeチャンネルで、ご相談やご質問を募集しています。動画のコメントやお問い合わせページからお気軽にご相談をお寄せください。