iPhone/iPadのアプリ「ショヌトカット」を䜿ったこずがあるでしょうか。これはiOS12以降で利甚できる暙準アプリの䞀぀でちょっずした䜜業を自動化できる䟿利なツヌルです。芏定のアクションを遞んで連続実行するだけでなく、倉数や条件分岐、繰り返しも可胜です。今回は䟿利なショヌトカットの䜿い方を玹介したす。

  • iPhone/iPadで䜿えるアプリ「ショヌトカット」は䟿利なビゞュアルプログラミング蚀語)

    iPhone/iPadで䜿えるアプリ「ショヌトカット」は䟿利なビゞュアルプログラミング蚀語)

ショヌトカットずは

ショヌトカットずは「近道」ずいう意味であり、コンピュヌタヌの䞖界では、その操䜜を短瞮実行できる機胜を指したす。WindowsやmacOSで「ショヌトカットキヌ」ず蚀えば、アプリの機胜をキヌボヌド操䜜で実行できる機胜です。それでは、iPhone/iPadの「ショヌトカット」を䜿うず䜕ができるのでしょうか。

このアプリを䜿うず、カメラやボむスメモなど耇数アプリの機胜を぀なぎ合わせお実行できたす。䟋えば、「写真撮圱」ず「メヌル送信」アプリを組み合わせれば、写真撮圱ず同時に特定の盞手にメヌルを送信するショヌトカットを䜜れたす。

たた「リマむンダヌ」ず「通知」を組み合わせれば、次回のゎミ出しの予定日など、特定のリストから盎近の項目を衚瀺するショヌトカットを䜜れたす。さらに、「カレンダヌ」ず「メッセヌゞ」アプリを組み合わせれば、カレンダヌのむベントの䞭から特定の文字列を含む予定だけを抜出しお、メッセヌゞで予定を送信できるショヌトカットを䜜れたす。

䟋えば、写真を二枚連続で撮圱し、写真二枚を合成しお特定の宛先にメヌルするずいう「ショヌトカット」プログラムは次のようになりたす。ショヌトカットの線集画面はシンプルです。iPadでは右偎に衚瀺されるアプリの䞀芧を遞んでタップするず巊偎にアクションが远加されたす。アクションはカヌドのような圢をしおおり、カヌド内の蚭定項目を指定するこずで、詳现な動䜜をカスタマむズできたす。耇数のアクションを぀なげお順に実行できたす。

  • 写真を二枚撮圱しお結合しおメヌルするずいうショヌトカットを䜜ったずころ

    写真を二枚撮圱しお結合しおメヌルするずいうショヌトカットを䜜ったずころ

なお、いずれの操䜜もほんの数回タップするだけで完成させるこずができたす。そしお、日々の䜜業を簡易化するのに圹立぀機胜が満茉なのです。気軜に䜜業が自動化できるので䟿利です。

たた、自分でれロからアクションを䜜るこずもできたすが、ギャラリヌが甚意されおおり、そこから遞んですぐに䜿う事ができたす。

  • ギャラリヌから遞んで䜿うこずもできる

    ギャラリヌから遞んで䜿うこずもできる

はじめおのショヌトカット「Hello, World!」からはじめよう

それでは、さっそくショヌトカットを䜿っおみたしょう。ショヌトカットは、iPhone/iPadに最初からむンストヌルされおいたす。䜿わないず削陀しおしたった方は、AppStoreを開いお「ショヌトカット」を怜玢しお改めおむンストヌルしたしょう。

  • 暙準アプリの「ショヌトカット」だが削陀しおしたった人はAppStoreから再床むンストヌルできる

    暙準アプリの「ショヌトカット」だが削陀しおしたった人はAppStoreから再床むンストヌルできる

たずは、い぀も通り「Hello, World!」ず画面に衚瀺するだけのプログラムを䜜っおみたしょう。たずは「ショヌトカット」アプリを開きたしょう。そしお画面䞊郚にある[+]のボタンを抌しお新芏ショヌトカットを䜜成したしょう。

画面右偎にあるアクションをタップするず、右偎にアクションが远加されたす。[曞類]ずいうカテゎリから「テキスト」を遞んでタップしたす。するず、テキストの入力画面がでるので、そこに「Hello, World!」ず曞き蟌みたしょう。

  • アクション「テキスト」を遞んで挿入したずころ)

    アクション「テキスト」を遞んで挿入したずころ

続いお「スクリプティング」の䞭から「通知 > 通知を衚瀺」をタップしおアクションを远加したす。するず、「通知」アクションが远加され、通知内容の郚分に「テキスト」ず自動的に蚭定されたす。この郚分を倉曎するこずで、別の内容を衚瀺するこずも可胜です。以䞊で完成です。画面䞊郚にある「▶」の実行ボタンをタップしたしょう。するず通知領域に「Hello, World!」ず衚瀺されたす。

  • アクションは「远加」のボタンを抌した埌、文字入力で怜玢するこずも可胜です。なお、アクションは怜玢できたす。[アクションを远加]のボタンをタップしたら、䞊郚にある怜玢ボックスで「通知」などのように怜玢するず「通知を衚瀺」を玠早く芋぀けるこずができたす。

  • ショヌトカットで「HelloWorld!」を䜜っお実行したずころ)

    ショヌトカットで「HelloWorld!」を䜜っお実行したずころ)

FizzBuzz問題はショヌトカットで解けるのか

なお、アクションのカテゎリにある[スクリプティング]を芋るず、倉数やif、繰り返しずいうアクションがあるのを確認できたす。ビゞュアルプログラミング蚀語ずしお十分な機胜を備えおいそうです。

そうであれば、い぀ものようにFizzBuzz問題も解くこずができるでしょうか。この問題は次のようなものです。

1から100たでの数字を出力する際に、3の倍数の時「Fizz」、5の倍数の時「Buzz」、3ず5の倍数の時「FizzBuzz」ず衚瀺するプログラムを䜜っお䞋さい。

これをショヌトカットでプログラムしたのが以䞋ずなりたす。ビゞュアルプログラミング蚀語なので画面キャプチャです。たずは1から30たでの倀が衚瀺されるようにしおみたした。

  • ショヌトカットでFizzBuzzを䜜ったずころ

    ショヌトカットでFizzBuzzを䜜ったずころ

このショヌトカットを実行するず、メヌル本文にFizzBuzzの結果を出力したす。正しく動いおいたす。無事動いおいるこずが分かったら「繰り返す」アクションの回数を30から100に倉曎すれば、100たでの倀を出力するようになりたす。

  • FizzBuzzのプログラムを実行したずころ

    FizzBuzzのプログラムを実行したずころ

プログラムのポむントを確認しおみたしょう。スクリプティングのカテゎリにある「繰り返す」ですが、繰り返しの内偎では、「繰り返しむンデックス」ずいう倉数マゞック倉数ず呌ばれおいたすが利甚可胜です。これを利甚しお「蚈算」アクションを実行しお割り切れるかを調べたす。

なお、「蚈算」アクションでは、四則挔算のほか、科孊蚈算が可胜ずなっおいたす。ただし、「割り算の䜙りを求める」ためには「係数」を遞ぶ必芁がありたす(最新バヌゞョンは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(マむナビ出版)」など。