前回のワークフロー紹介が全然読まれてないんですけど、今回はもうちょっと踏み込んだ話をします。読者さんはついてきてくれるんでしょうか。
今回は1つのワークフローがExtensionからでもウィジェットからでもアプリ本体からでも使えるようになる組み立て方を解説していきますよ。
Workflow: Powerful Automation Made Simple
DeskConnect, Inc.
仕事効率化, ユーティリティ
ワークフローの種類を知る
Workflowアプリには実行する導線が3つ用意されています。
▼選択できるのはこの3種類
・Normal
Workflowアプリを起動し、そこから実行するもの。
Normalの場合は他のアプリからデータを受け取るのではなく、このアプリ内からデータをどうにかするという感じになります。
・Today Widget
ウィジェットから実行するもの。
Today Widgetも基本はNormalと同様です。
・Action Extension
Safariなど他のアプリからExtensionでデータを受け取り実行するもの。
ただし利用はExtensionからの入力に限られてしまい、非対応のソフトからは使うことができないという弱点があります。
どれを使うかで若干処理が変わってくるというのがポイント。
不自由な導線設計例
さて、まずはこのワークフローを見てください。
▼URLのリダイレクト先をチェックするためのワークフロー
処理を見ていきましょう。
Extensionから入力されたURLを、Textアクションでohotuku.jpというサイトのサービスURLに組み込んで、Show Web Pageアクションで内蔵ブラウザ表示するという、ごくシンプルなものです。
Twitterなどで不用意に短縮URLを踏みたくない時にこれを実行すると転送先が1発でわかるという便利なものですが、困ったことにSafariではExtensionを実行できるのがいま開いているページに限定され、リンク先のページに対してはExtensionを実行できません。でもこの場合短縮URLを開いてから実行していては本末転倒ですから、URLをコピーしたものからでもこのワークフローを実行できるようにしたい。
通常であれば導線ごとにそれぞれのワークフローを用意するのが簡単です。
▼クリップボードのURLをチェックするように改造
このように入力まわりのアクションを変えてやります。クリップボード内のデータを取得するアクションと、URLを抽出するアクションを追加しました。
でもおんなじ処理をするだけなのに複数のワークフローを作るのは無駄だし、邪魔です。それを解消していきましょう。
導線をフレキシブルにしよう
Extensionからでも、コピーしたURLに対しても使えるようにしたいということであれば、下のように改造します。
▼導線をフレキシブルにしたワークフロー
→ ワークフローをインポートする
まずしょっぱなにIFアクションで条件分岐をしています。ここでExtensionから実行されたかの切り分けを行っているわけです。IF条件にはExtensionからの入力にhttpという文字列が含まれているか。含まれていればそのままEnd If以下の処理に進み、含まれていなければOtherwise以下の処理を行います。
Extensionからの呼び出しでない場合は何の入力も渡されませんからOtherwiseに進みます。次にGet Clipboardアクションでクリップボード内のデータを取得します。
そしてGet URLs from Inputアクションでクリップボード内のデータからURLだけ取り出します。(例えばAppStoreでアプリのURLをコピーするとアプリ名とURLが混ざった状態で渡されるので、そのまま処理してしまうとテキストが邪魔をしてエラーになってしまいます。そういう対策として)
IFアクションでExtensionからの入力をチェックし条件分岐をしているというのが大事なところです。Extensionから実行していない場合には渡されるデータが空ですから、そこで初めてクリップボードを参照しに行きます。
おわりに
やっていることはすごく簡単ですし汎用的に使えますから、ぜひ覚えておいてほしいテクニックです。
ちなみにToday WidgetとAction Extensionは排他ではありませんから、今回の記事を参考にして作ったものであれば、ひとつのワークフローでNormalとExtensionだけでなくToday Widgetからでもそのまま利用できるようになったというわけです。
▼実は両方選べるの知らなかった
これまでに紹介してきたワークフローもちまちまとこの方式に直していきます。
このワークフローをテストするための短縮URLはこれをお使いください。
http://bit.ly/microsoft
なかなか面白い短縮URLです。
なるべくわかりやすく書いたつもりですが、参考になったでしょうかね?
ウィジェットから起動できて画像をリサイズするだけのシンプルなアプリが欲しかったのですがWorkflowを使えば簡単に実装できますね!今までフォトアレンジメントでいちいちリサイズしていたのですごく助かります
君の名は。
観に行きました!
最高です♪
新海作品の全てが詰まってる
最高傑作ですヾ(≧∇≦)
Blu-ray出たら買います(๑•̀ㅂ•́)و✧
bateさん
単純にリサイズするだけなら他のアプリを使うより簡単にできるので、私もよく使っています。やろうと思えば合成したり結構細かいことまで出来てしまうのがいいですね。
使ってみると手放せないものになるんですけど、なかなか敷居が高いようで布教活動は進みませんね。仲間が増えて嬉しいです。
鼻糞一発さん
おー、早いですね。
観に行かれた方はみんないい評価をしてらっしゃるので、私も劇場で見てこようと思います。楽しみにしておきます!