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文」なども利用することができます。

レシピを自作してみよう!

Workflowの基本的な概念を押さえたところで、Workflowのレシピを自作してみましょう。

基本編:2枚のスクリーンショットを1枚に並べる

Webメディアを運営する際、ブログ記事などを書く場合に、iPhoneの縦長の画像を横2枚に並べたいと考えている場合があるでしょう。

Workflowはリサイズや結合などの簡単な画像処理なら行うことができるので、今回は2枚の画像を1枚に結合するというレシピを作って作業を自動化してみましょう。

基本的な考え方は以下の通りです。

1. 「フォトライブラリ」の画像から写真を選択
2. 画像を横に並べる
3. 画像の横幅をリサイズ
4. 画像をJPGに変換して位置情報などを削除
5. 画像をフォトアルバムに保存

自作のレシピを作成するには、Workflowアプリを開いたあとに、右上の+マークをクリックします。

右にフリックするとアクション等が登場するので、任意のアクションや変数などを長押し&ドラッグで左側のWorkflowに持ってきて、並べていきます。

tap.jpg

今回選択するアクションは、以下の5つです。

1. Select Photos:Select Multiplesを「オン」
2. Combine Images:Mode「Side by Side」Direction「Horizontal」(横並び) Spacing「20」
3. Resize Image:Width「840」Height「Auto」
4. Convert Image:Format「JPEG」Quality「100%」Preserve Metadata「オフ」
5. Save to Photo Album:Album「All Photos」

これで、自動化設定を行うことができました。実行すると、2枚の画像が1枚に結合されます。

JPG01.jpg
スクリーンショットを結合

右上にある歯車マークをタップすると、ホームスクリーンにアイコンを加えたり、ウィジェットやApple Watchで素早く呼び出したりなどの設定をすることも可能です。

応用編:業務日報を作成する

カレンダーに入っている本日の予定をDay Oneに送るという作業を、変数を使ってレシピを作ってみましょう。

まず、基本的な考え方を並べてみましょう。

1. 本日の予定を「終日の予定」以外で抽出
2. 繰り返し処理を行う
3. 予定の「タイトル」「開始時刻」「終了時刻」を並べる
4. 業務所感を書く
5. テキストの体裁を整える
6. Day Oneで新規投稿を作成する

今回は、以下のアクションを設定します。

1. Find Calendar Events Where:Start Date「is today」and「Is Not All Day」Sort by「Start Date」Order「Oldest First」
2. Repeat with Each で繰り返し (*)
3. (*) Set Variable:Variable「Date」
4. (*) Text
5. (*) End Repeat
6. Combine Text:Separator「New Line」
7. Set Variable:「Plan」
8. Ask for input:Question「業務所感」
9. Create Day One Entry

4のTextには、変数「Date」の値を入れます。変数を入れるには、「Variables」をタップし、先ほど設定した変数「Date」をタップします。

JPG07.jpg

これで設定が完了です。レシピを起動して業務所感を入力すれば、自動的にDay Oneが開いて新規投稿が作成されます。

まとめ:Workflowで作業を自動化しよう

特定の文面でメールを作成したり、電話をかける相手が決まっていたり、画像を加工したり……と日々のタスクの中でルーチンワークになっているものは、Workflowを使うことで自動化できます。Workflowは、基本的なプログラミングの概念さえ分かれば、誰でも高度なレシピを作成することができます。

もちろん、既に他の人が作った優れたレシピもあるので、勉強も兼ねて様々なレシピをダウンロードしてみるのもオススメです。ぜひ、Workflowを徹底的に活用して、効率的な仕事に取り組みましょう。