27
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ちょっとした工夫で効率化!01【PR】パソナテックAdvent Calendar 2020

Day 7

iosショートカットの凄技でこんなこともできます

Last updated at Posted at 2020-12-07

みなさんショートカット使ってますか?

https://support.apple.com/ja-jp/guide/shortcuts/welcome/ios
https://qiita.com/tags/shortcuts

もともとは Workflow というサードパーティアプリだったのですが、 Apple に買収され、iOS に組み込まれてさらにパワフルなツールになりました。

最近だと、ホーム画面のアプリ起動アイコンをカスタマイズする方法としてニュースに取り上げられたりしています。

さて、そんなショートカット機能、ぱっと見はブロックプログラミングみたいな、最近流行りのノーコードみたいな感じで、「コードを書ける俺には必要ないぜ」と見くびって深堀りしていない諸氏も多いことでしょう。

さて本日は、プログラミング大好きな皆さんを刺激する技をご紹介します。

「WebページでJavaScriptを実行」アクション

4A014759-3DB2-4430-A8D4-E092FBD405D0.png

まずはこちら。御覧の通り、JavaScriptのコードを実行できそうな気配満々のアクションです。アプリ不要で、標準でついてます。
Safariで表示中のページの Content Scope に JavaScript を埋め込んで実行できる、というもので、一昔前に流行した bookmarklet のように使うことができます。
戻り値を返すことができ、それを次のアクションへつなげるので、サイト上から要素を拾ってリマインダーに登録、といったようなことも簡単にできます。戻り値は completion() の呼び出しで返すことになっているので、非同期処理の結果を取得することもできます。

ただし、スクリプトの実行には「Safariウェブページ」というオブジェクトが必要です。
ショートカット起動からあらかじめ指定したURLにアクセスして云々みたいな使い方は出来ず、iOS の safari ブラウザのシェアシートからショートカットを起動することになります。 (筆者は発見できませんでしたが、何か裏技をご存知の方はぜひコメントください!)

便利だけど、期待していたのとちょっと違う、と思った方は次節へどうぞ。

「Scriptable」アプリ

https://scriptable.app/
72112C9C-9C98-4426-88B3-4AC17EBBFE8B.png
無料アプリです。インストールすると「ショートカット」アプリから Scriptable アクションを呼び出して任意のJavaScriptを実行でき、戻り値をショートカットアプリに返すこともできます。
上のスクショは、 Google Cloud のインスタンスを起動、停止するために私が書いたものです。こんな感じで Web API を自在に呼び出すことができます。 (gist に置いておきました)

なぜわざわざこんなことを?という方に念のため説明しますと、ショートカットに「マシン起動」のような名前をつけて保存しておくと、 Apple Watch の竜頭を押しながら「マシン起動」というだけで GCP インスタンスを立ち上げることができるのです。戦隊モノ気分です。便利です。

独自のAPIを持っており、 iOS の標準カレンダーやリマインダーへのアクセスもできるので、ショートカットアプリでぽちぽちするのが大変なループ処理や if 分岐をコードで書けます。
iCloud ドライブにそのままテキストファイルで保存されているので、 Mac や PC で iCloud 接続すれば、使いなれたエディタとキーボードでコード編集することができます。

iOS14 の Widget を出力する機能もあり、任意の WebAPI の実行結果をウィジェットとしてホーム画面に表示しておくこともできてしまいます。

「Pushcut」アプリ

https://www.pushcut.io/
D4E771B2-7C21-4112-9860-2DA519DB6B37.png

こちらも無料アプリです。自作の Web アプリや Slack bot などから手元の iPhone へ通知を送ることができ、それをトリガーにして任意のショートカットを iOS 上で実行できます。
簡単な使い方としては、 Mac/PC で開いているページのURLを iPhone へ送ってすぐに開く、だとか、画像のURLを送るとそのURLの画像をiPhone のクリップボードに入れる、のようなことが実現できます。

まとめ

ショートカットアプリの持つ強力な連携パワーをさらに引き出す技をいくつかご紹介しました。関連する連携アプリやテクをご存じの方、ぜひコメントください。

27
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?