Instagram用に写真を正方形にリサイズしたり、Twitterに特定の文言を送信したり……。何かとiPhoneを使った「決まった作業」があるのではないでしょうか。

Workflowというアプリケーション(以下、アプリ)を使ってプログラミングを行うようにブロックを組み立てれば、そうした毎日の作業は自動化され、より多くの時間を手にすることができます。

そこで今回は、iPhoneで始める「Workflow」の自動化プログラミングの手順をご紹介します。想像以上に様々なことができるので、自分なりの自動化レシピを作成してみましょう。

iOSアプリ「Workflow」で何でも自動化!

https://ferret.akamaized.net/images/5abd81d6fafbd84ff20000fb/original.jpg?1522368982
Workflow

Workflowは、 2015年にAppStoreの「BEST OF 2015」に選出され、「Apple Design Award」も受賞している、iOSの自動化アプリです。2017年3月にはAppleが買収し、さらに使い勝手が広がりました。

iPhoneだけでなくiPadやApple Watchにも対応しており、Webサービス連携が得意なIFTTTに対して、地図アプリやカレンダーアプリなどのiOSのネイティブサービスで自動化を行うことが得意です。

参考:
「Workflow」で作業効率アップ!基本操作とオススメのレシピ5選

Workflowでは他のユーザーが作成したレシピを再利用することも可能ですが、自分で自動化レシピを作成することも可能です。むしろ、自分が自動化したいレシピを思い通りに作れるようになると、Workflowの利用の幅が一気に広がります。

「Workflowプログラミング」を始めよう!

code.jpg
イメージ画像 / BURST

Workflowの醍醐味は、何と言っても自分で自動化したい作業を組み立てることができる点です。Workflowのレシピはまるでプログラミングのようなスタイルで組み立てられます。

Workflowはドラッグ&ドロップで「アクション」や「変数」、「スクリプティング」と呼ばれるパーツを繋げて作って行きます。ユーザーテキスト入力やメニュー選択を促したりすることも可能です。

「アクション」とは?

JPG02.jpg

アクションは、各アプリやiOSの挙動に関わる動作を実行するためのブロックです。例えば、

・Evernoteに新規ノートを作成する
・Todoistにアクションを加える
・Slackに投稿する

といったアプリとの連携はもちろん、

・動画からGIFファイルを作成する
・クリップボードにコピーする
・プリントする
・ツイートする

といったiOSを横断したアクションを設定することもできます。

「変数」とは?

https://ferret.akamaized.net/images/5abd8527fafbd84fef000112/original.jpg?1522369831

プログラミングでは変数を定義したり、書き換えたりすることが不可欠ですが、Workflowでもそうしたものを利用することができます。

変数 (Variable)

変数は、値を保持する箱のようなものです。例えば、Aという箱にURLを保持しておけば、Aを呼び出したときにはいつでもAに保存したURLを呼び出すことが可能です。

変数は、「変数の名前」と「値」がペアとなります。値には数字や文字列のほか、画像や音声などのファイルも保持することが可能です。

また、「Add to Variables」(変数に追加)というアクションを加えると、その変数は配列になり、複数の値を保持することができます。また、通常のプログラミングと同様に、配列の中に配列を保持することも可能です。

連想配列 (Dictionary)

Workflowには、連想配列も用意されています。連想配列では、キー(Key)と値(Value)をペアにして、値を保持します。

マジック変数 (Magic Variable)

通常、変数を設定したり呼び出したりするには「Set Variable」や「Get Variable」というアクションを実行しなければいけません。しかし、マジック変数を使えば、特定のアクションに応じて最適な変数を、自由に組み立てることができます。

例えば、Twitterに自動的に投稿を行いたい場合には、「Title」や「URL」といったマジック変数を、宣言なしで使うことができます。これにより、余計なアクション数を減らすことができます。

「スクリプティング」とは?

JPG03.jpg

Workflowでは、いわゆるfor文のような繰り返し処理や、複雑な数字の計算などの処理も行うことができます。これを「スクリプティング」と呼びます。

スクリプティングの典型的なものとしては、指定回数分の繰り返しを行うRepeatや、配列の個数だけ繰り返しを行うRepeat Eachなどがあります。また、「if文」なども利用することができます。