iPhone/iPadのアプリ「ショートカット」を使ったことがあるでしょうか。これはiOS12以降で利用できる標準アプリの一つでちょっとした作業を自動化できる便利なツールです。規定のアクションを選んで連続実行するだけでなく、変数や条件分岐、繰り返しも可能です。今回は便利なショートカットの使い方を紹介します。
ショートカットとは?
ショートカットとは「近道」という意味であり、コンピューターの世界では、その操作を短縮実行できる機能を指します。WindowsやmacOSで「ショートカットキー」と言えば、アプリの機能をキーボード操作で実行できる機能です。それでは、iPhone/iPadの「ショートカット」を使うと何ができるのでしょうか。
このアプリを使うと、カメラやボイスメモなど複数アプリの機能をつなぎ合わせて実行できます。例えば、「写真撮影」と「メール送信」アプリを組み合わせれば、写真撮影と同時に特定の相手にメールを送信するショートカットを作れます。
また「リマインダー」と「通知」を組み合わせれば、次回のゴミ出しの予定日など、特定のリストから直近の項目を表示するショートカットを作れます。さらに、「カレンダー」と「メッセージ」アプリを組み合わせれば、カレンダーのイベントの中から特定の文字列を含む予定だけを抽出して、メッセージで予定を送信できるショートカットを作れます。
例えば、写真を二枚連続で撮影し、写真二枚を合成して特定の宛先にメールするという「ショートカット」(プログラム)は次のようになります。ショートカットの編集画面はシンプルです。iPadでは右側に表示されるアプリの一覧を選んでタップすると左側にアクションが追加されます。アクションはカードのような形をしており、カード内の設定項目を指定することで、詳細な動作をカスタマイズできます。複数のアクションをつなげて順に実行できます。
なお、いずれの操作もほんの数回タップするだけで完成させることができます。そして、日々の作業を簡易化するのに役立つ機能が満載なのです。気軽に作業が自動化できるので便利です。
また、自分でゼロからアクションを作ることもできますが、ギャラリーが用意されており、そこから選んですぐに使う事ができます。
はじめてのショートカット「Hello, World!」からはじめよう
それでは、さっそくショートカットを使ってみましょう。ショートカットは、iPhone/iPadに最初からインストールされています。使わないと削除してしまった方は、AppStoreを開いて「ショートカット」を検索して改めてインストールしましょう。
まずは、いつも通り「Hello, World!」と画面に表示するだけのプログラムを作ってみましょう。まずは「ショートカット」アプリを開きましょう。そして画面上部にある[+]のボタンを押して新規ショートカットを作成しましょう。
画面右側にあるアクションをタップすると、右側にアクションが追加されます。[書類]というカテゴリから「テキスト」を選んでタップします。すると、テキストの入力画面がでるので、そこに「Hello, World!」と書き込みましょう。
続いて「スクリプティング」の中から「通知 > 通知を表示」をタップしてアクションを追加します。すると、「通知」アクションが追加され、通知内容の部分に「テキスト」と自動的に設定されます。この部分を変更することで、別の内容を表示することも可能です。以上で完成です。画面上部にある「▶」の実行ボタンをタップしましょう。すると通知領域に「Hello, World!」と表示されます。
FizzBuzz問題はショートカットで解けるのか?
なお、アクションのカテゴリにある[スクリプティング]を見ると、変数やif、繰り返しというアクションがあるのを確認できます。ビジュアルプログラミング言語として十分な機能を備えていそうです。
そうであれば、いつものようにFizzBuzz問題も解くことができるでしょうか。この問題は次のようなものです。
1から100までの数字を出力する際に、3の倍数の時「Fizz」、5の倍数の時「Buzz」、3と5の倍数の時「FizzBuzz」と表示するプログラムを作って下さい。
これをショートカットでプログラムしたのが以下となります。ビジュアルプログラミング言語なので画面キャプチャです。まずは1から30までの値が表示されるようにしてみました。
このショートカットを実行すると、メール本文にFizzBuzzの結果を出力します。正しく動いています。無事動いていることが分かったら「繰り返す」アクションの回数を30から100に変更すれば、100までの値を出力するようになります。
プログラムのポイントを確認してみましょう。スクリプティングのカテゴリにある「繰り返す」ですが、繰り返しの内側では、「繰り返しインデックス」という変数(マジック変数と呼ばれています)が利用可能です。これを利用して「計算」アクションを実行して割り切れるかを調べます。
なお、「計算」アクションでは、四則演算のほか、科学計算が可能となっています。ただし、「割り算の余りを求める」ためには「係数」を選ぶ必要があります(最新バージョンは2.2.2の場合)。
本来、係数とは文字と数の積で表す式の数の部分を指す言葉なので、明らかに翻訳間違いです。最初、割り算の余りがなかったので、余りを求める方法を調べまくってしまいました。早期に修正されることを願っています。
そして、「計算」アクションで計算したあとは、ifを使って条件分けします。ここでは、「計算結果」が「次と等しい」「0」と設定します。そして、その下に「テキスト」アクション(内容を「FizzBuzz」と指定)を追加し、続けて、「変数に追加」アクション(「テキスト」を変数「結果」に追加と指定)を追加します。
最後に「書類」カテゴリにある「テキスト編集 > テキストを結合」を使って、変数「結果」の内容を改行で結合して「メール送信」アクションに送れば完成です。
まとめ
以上、今回は、iPhone/iPadで使えるビジュアルプログラミング言語「ショートカット」について紹介しました。FizzBuzzのプログラムが作れることからも分かるように、思ったよりもさまざまな用途にも使えそうだと感じたのではないでしょうか。
なお、macOSには標準で「Automator」という自動化ツールがあり、これを使ったことがあれば「ショートカット」も楽々利用できることでしょう。「ショートカット」は「Automator」のiOS版と言うこともできます。
どうしても既存のアクションでは実行が難しい処理を行いたい場合のために、「SSH経由でスクリプト実行」という裏技的なアクションもあります。これを使えば、自宅のPCやラズパイ、あるいは、ホスティング中のVPSサーバーなどに接続して、好きなスクリプト言語で出力した結果をiOSに取り込めます。他にも、[Web]のカテゴリには「URLの内容を取得」というアクションもあり、Web APIの結果を取得してメッセージを送信することもできそうです。
このアプリが登場したのは2018年ですが、筆者は「どうせ大したことできなだろう」と思って利用していませんでした。今回、実際に使ってみて業務の自動化に役立ちそうと思いました。今後は積極的に活用していこうと思っています。皆さんも活用してみてください。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。直近では、「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」「すぐに使える!業務で実践できる! PythonによるAI・機械学習・深層学習アプリのつくり方 TensorFlow2対応(ソシム)」「マンガでざっくり学ぶPython(マイナビ出版)」など。