iOSのショートカットアプリでPythonコードを実行する方法


概要

iOSのショートカットアプリはURL (データスキーム) にJavaScriptを埋め込み、「WEBページの内容を取得」を使うことでJavaScriptを実行できます。これとBrythonを組み合わせたらPythonコードを実行できましたので、手順をまとめます。

この方法で作成したショートカットはApple Watchでも動作しました。

手順

1. Python実行用の汎用ショートカットを作成する

下記のショートカットを作成して、名前を「Python実行」にしてください。

「テキスト」は下記を入力してください。

<script src="https://cdn.jsdelivr.net/npm/[email protected]/brython.min.js"></script>
<script  type="text/python">
ショートカットの入力

2. Pythonコードを埋め込んだショートカットを作成する

下記サンプルようなPythonコードを埋め込んだショートカットを作成します。

「テキスト」に実行したいPython(Brython)コードを記述します。
Pythonコードで出力する場合は「document.write」を使用してください。

次に「ショートカットを実行」で、1で作成したショートカットを実行します。
このとき、Pythonコードを記述した「テキスト」を入力します。

3. Pythonコードを埋め込んだショートカットを実行する

2で作成したショートカットを実行するとPythonコードが実行されて、「document.write」した結果がテキストとして返却されます。サンプルでは、「通知」で返却されたテキストを表示します。

その他

Apple Watchで実行

サンプルをApple Watchで起動した結果は下記となります。

課題・不明点

  • Brythonライブラリは毎回ロードされているのか?もしくはキャッシュされているのか?
  • 日本語の文字化け